注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
mlyxlpk007的个人空间 https://home.eeworld.com.cn/space-uid-156244.html [收藏] [复制] [分享] [RSS]
日志

DIY高并发的服务器

热度 1已有 2307 次阅读2016-6-14 19:52 |个人分类:原创| 服务器

    根据DIY需要,自己需要一个服务器,虽然开源的服务器很多,比如XMPP的openfire等,但是总是比较复杂,当然功能也很强大。但是我只需要比较简单的一个转发服务器来实现数据的传输,抱着学习研究的目的,自己基于Java搭建一个socket服务器。服务器初步的框图如下 1.收下客户面对一个WEB服务器,访问web服务器取得一个TCP服务器的连接地址(web服务器也充当了负载均衡,使得个端口的连接基本一样)

2.TCP服务器接收数据,把数据存入队列中(保证每个队列中的业务数据差不多,再一次均衡负载) 3.每个队列由一个线程池处理数据,判断数据的业务类型 然后向不同的业务逻辑压数据。 4.不同的业务由单独的线程池来处理,到此完成业务的处理。

不同的业务处理复杂度不同,用户的业务请求频率也不同,可以动态分配相应的业务的线程数量,从而使用客户的业务请求频率。

我没有维护过服务器,以上是全凭个人对服务器的理解想出来的,多个地方让负责进行均衡,已经比如早上业务A请求很多,到下午业务B请求很多的这种情况,服务器能试试调整相应业务的线程数。很多不足的地方还请大家指出来。我个人感觉按照这个思路实现100万并发的服务器应该可以吧?????????????????下面是根据上面的思路画的图。

发表评论 评论 (1 个评论)
回复 wateras1 2016-6-15 10:26
对于做高并发的服务器消息进制可以尝试采用下Kafka,服务器架构可以采用微服务器,拿多台电脑搞个集群服务器应该试下。

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章