大家好!
 现在需要开发一个这样的服务器A,每个客户端与服务器A之间采用短连接,处理过程如下:服务器A在收到客户端的请求后,进行消息协议解析(类似于CMPP协议),然后组合成另一种协议,转发给另外一台已在运行的服务器B,在收到服务器B返回的消息后,回应消息给客户端,请问开发这样的服务器适合于用mina框架吗?其中的与服务器B相连的客户端用哪种比较好?非常感谢

解决方案 »

  1.   


    可以参考下列的例子 
    http://blog.csdn.net/hzhxxx/archive/2009/12/09/4970196.aspx下列描述了JNSP(java  network service platform)服务的部署和功能,如有不明白之处,自己查看源代码,我无力和没有太多时间回答太多的问题.
    源代码一起提供,可以随意修改,发布,并商业化,但请保留作者的信息.为了技术的进步,请注意共享成就.目前已经发布于:http://download.csdn.net/source/1885332;http://hzhxxx.download.csdn.net/
    如果查看后有技术问题探讨和建议的,欢迎致电致信联系.系统架构设计和实现有如下特点:
    A. 采用 Accept-Connect 通讯模型,能统一管理系统中使用的所有 Socket 资源;
    B. 系统支持通信和协议分离的实现原则,支持自定义协议解析模块;通信负责数据收发,协议负责数据鉴别,两者配合实现通信和协议的和谐工作;
    C. 灵活支持业务处理功能重定义,分级支持慢业务和快业务的不同业务处理线程;
    D. 丰富灵活的配置参数,能满足高扩展性;
    E. 配合业务处理和通信模型,能异步的管理所有的交互步骤;
    F. 分布式服务设计和部署,实现动态(热拔插)的增加和较少业务服务器,减少乃至拒绝单点服务;
      

  2.   

    mina 很好啊,可以用的,mina 可以采用非阻塞式 IO 操作,效率很高的。你担心什么呢?
      

  3.   

    谢谢以上回复
    其中的与服务器B相连的客户端用哪种比较好? 也用mina吗?这个与服务端B相连会不会影响性能?
      

  4.   

    大家好! 
    现在需要开发一个这样的服务器A,每个客户端与服务器A之间采用短连接,处理过程如下:服务器A在收到客户端的请求后,进行消息协议解析(类似于CMPP协议),然后组合成另一种协议,转发给另外一台已在运行的服务器B,在收到服务器B返回的消息后,回应消息给客户端,请问开发这样的服务器适合于用mina框架吗?其中的与服务器B相连的客户端用哪种比较好?非常感谢
      

  5.   


    可以参考下列的例子 
    http://blog.csdn.net/hzhxxx/archive/2009/12/09/4970196.aspx 看看这个吧,对于你的要求,真是小菜啊
      

  6.   

    里面的这个算法,正是你要的// 一个中转的消息服务器下面挂了很多(1~N)业务服务器,设计一个负载均衡算法
    // 1。 N 个服务器中的任何一台服务器可能死机,死机的机器不能分发(死机的机器会被通知,复活后也会通知)
    // 2。 N 个服务器中的其中任何一台都可以分配负载 0~100,可以比例对各台业务服务器分配负载
    // 3。 能快速的选择到一台负载机器进行分配并能快速的响应负载机器的退出和加入 /**
     * 
     * 一个服务集群,负载算法是全部的load balance值N相加得到一个分母M,创建一个元素个数是
     * M的分配数组A,A里面存储单个服务器的配置.如果某个服务器的N值是N1
     * ,则占数组里面的N1份.由一个随机数模除M,得到一个的索引值INDEX,A[INDEX]就是所要的服务配置.设定每个服务器
     * N后,可以得到N里面的最大的那个值max,如果有K台机器,则最好M=(K和max的最小公倍数). 如果需要均衡分配,则每个N 均等于1,则M
     * 最小.
      

  7.   

    A与B之间用长连接。这长能减少A与B之间的连接次数,减少响应时间。这样才能提高性能。