百度云架构首席专家 林仕鼎
4. Programming Model
单使用thread结构的server是很难真正做到高性能的,原因在于内存使用、切换开销、同步开销和保证锁正确性带来的编程复杂度等。
“SEDA: An Architecture for Well-Conditioned, Scalable Internet Services”,OSDI’01
Thread不好,但event也没法解决所有问题,于是我们寻找一个结合的方法。SEDA将应用拆分为多个stage,不同stage通过queue相连接,同一个stage内可以启动多个thread来执行queue中的event,并且可通过反馈来自动调整thread数量。
本文探讨了单使用thread结构的server难以实现高性能的原因,并介绍了SEDA架构如何通过结合thread和event来构建可扩展的互联网服务。SEDA将应用程序划分为多个阶段,每个阶段可以通过多个thread处理事件队列。
667

被折叠的 条评论
为什么被折叠?



