应用场景是这样,一个管理端(Java实现),大量客户端(C++实现,数量大约10000),各个客户端会检测自己主机的某类文件的运行情况及状态变化,并实时将数据上报给管理端,同时管理端要将收到的数据存入数据库(MySQL),由于客户端数量较多从而在管理端形成了较大并发,现在思路是这样为了防止管理端在大并发压力下挂掉,想建立一个大的缓存机制(如队列模式),开辟多个线程接收到客户端传来的数据,立即将数据保存到缓存。在合适的时机(比如缓存中的记录达到一定数量,具体还没想好)批量将缓存中的数据批量保存至数据库,然后清空缓存,继续接收新数据,个人感觉有点大并发下的生产者、消费者的意思。
3 回答

慕的地8271018
TA贡献1796条经验 获得超4个赞
不考虑具体语言,抽象一下,就是一个服务器面对大量客户端连接如何处理. 服务器不可能一个线程处理一个连接,这样线程太多服务器会挂.
这个时候就是NIO的应用场景, Netty 是NIO的一个应用框架.

动漫人物
TA贡献1815条经验 获得超10个赞
我有两个思路。
1、可以看下分布式日志服务器。主要就是记录汇总嘛。
2、把数据记录在本地log上,然后看看把log是怎么解析到服务端。
缓存感觉不靠谱,缓存是不保证数据完整性的。你这么用会出问题,除非数据允许一定的误差。
添加回答
举报
0/150
提交
取消