高并发服务器架构--SEDA架构分析( 四 )
观察queue长度 , 如果超过阀值就添加线程
移除空闲线程
(2)、批量管理器
目的:低响应时间和高吞吐量的调度
操作:
Batching因子:Stage一次处理的消息数量
小的batching因子:低响应时间
大的batching因子:高吞吐量
尝试找到具有稳定吞吐量的最小的batching因子
观察stage的事件流出率
当吞吐量高的时候降低batching因子 , 低的时候增加
三、小结
SEDA主要还是为了解决传统并发模型的缺点 , 通过将服务器的处理划分各个Stage , 利用queue连接起来形成一个pipeline的处理链 , 并且在Stage中利用控制器进行资源的调控 。 资源的调度依据运行时的状态监视的数据来进行 , 从而形成一种反应控制的机制 , 而stage的划分也简化了编程 , 并且通过queue和每个stage的线程池来分担高并发请求并保持吞吐量和响应时间的平衡 。 简单来说 , 我看中的是服务器模型的清晰划分以及反应控制 。
注:需要C/C++ Linux服务器开发学习资料私信“资料”(资料包括C/C++ , Linux , golang技术 , Nginx , ZeroMQ , MySQL , Redis , fastdfs , MongoDB , ZK , 流媒体 , CDN , P2P , K8S , Docker , TCP/IP , 协程 , DPDK , ffmpeg等) , 免费分享
推荐阅读
- 我的世界|我的世界:6个“友尽”的小技巧,不要轻易在好友的服务器尝试!
- ag战队|魔兽TBC:免费转服即将开放,四类服务器现状分析,玩家把握机会
- 剑网3|剑网三玩家开挂,出生装备服务器第一!开局淘汰95个对手,离大谱
- 池子|胡桃热度有多强?池子上线致服务器人满为患,璃月3C荣光延续
- 原神|原神:胡桃卡池复刻后,原神服务器爆满?胡桃人气真高
- 网游|颠覆你认知的网游土豪,程序员加班为他改游戏,还送专属服务器
- 雷神|原神:雷神池都没有的盛况?胡桃UP挤爆服务器,米哈游笑出了声
- 我的世界|我的世界:让你“友尽 ”陷阱,不要轻易在好友服务器尝试它们!
- 原神|闪耀暖暖:不同服务器之间有何区别?别忙着羡慕,国服其实还不错
- 女娲|梦幻西游:口袋版买帮贡花钱多少由服务器决定,新区玩家要多花钱