ㄧ個Message Service的設計,大家指正!

正在做一个小的设计,贴出来和大家讨论下子.
 
需求:
1.      有大量的客户端(5000个),少量的服务器(5台以内),还有管理员使用的数量不定的控制台(一般在10台以内).
2.      控制台需要控制客户端的时候,将命令发送到服务器,服务器再将命令发送到客户端,要求客户端执行一定的动作.
3.      客户端也可以主动发送消息给服务器,比如请求登录的消息.
4.      控制台和客户端发送的命令和请求都以编号(command id)来区分其涵义.
5.      服务器根据命令的编号来决定应该调用什么组件来执行命令.
6.      系统中有大量的并发请求.
 
我的设计:
1.      服务器端是不需要接口的,所以使用windows service来做主程序.
2.      使用windows service来监听来自客户端和控制台的消息.
3.      接收到消息后, MessageServer对消息进行解析,获得其中的command id,然后根据xml文件中的配置来得到对应此command id的组件(称为命令处理器:Command Processor)的名字(Assembly name, class name ,etc.),然后创建Command Processor,让其来执行命令.
4.      MessageServer创建和管理thread.
5.      通过修改配置文件可以修改command id和命令处理器之间的对应关系.
6.      命令处理器有很多个,都实现一个interface,该interface包含一个方法:ExecuteCommand.
7.      MsgConnect为一个负责通讯的组件. ServerCommunication是一个边界类,和MsgConnect进行交互.
 
大致的情况是这样的,希望大家能给我提出一些建议和意见
posted @ 2005-06-02 10:55  风满袖  阅读(1640)  评论(6编辑  收藏  举报