今天同事问我用什么样的架构设计一个服务器更好,功能很简单,就是监听、身分认证、接发和分析数据,实现挺简单的,也没什么东西好说的,我想他也会有同样的感觉,但我知道他是一个思维活跃具有创新且工作认真负责爱动脑筋的一位软件开发者。他想用线程池,并且想控制客户端连接数。
至于架构,我觉得分层是最好的,并且尽量使层的职责明确。我推荐他设这么三层:监听层、控制层、数据处理层。监听层放网络连接监听实现;控制层放身份认证和客户连接数控制实现;数据处理层放接收数据、分析数据和发送数据,如果处理完或断线后自己从客户连接池中释放自己。他认为控制层和数据处理层统一成一层,这也没有什么不可以的,我只是以职表明确为宗旨划分的,不是他该做的事情我尽量不要他去做。
每个人的思维方式都不同,大伙可以谈谈自己的观点。越简单的问题越直得我们去思考!