高性能服务器设计——总体框架介绍
2013-12-21 20:24
316 查看
针对高性能服务器存在一些最基本的要求,现总结如下:
服务器基本要求
1) 满足大量请求并发的使用场景;
2) 业务逻辑需要与网络操作解除耦合关系;
3)自保护的能力,发生大量请求,导致已经超出服务框架的处理能力时,仍然能够坚强的提供服务;
4) 服务自调整的能力,框架能够更具当前系统的请求量,能够拉起更多业务处理进程(线程);
5) 服务容错能力,服务处理过程中出现异常,导致服务异常退出,能够自动拉起新的服务,继续处理后续的请求;
框架的总体架构图
核心模块介绍
1) 监控进程
a) 负责监控代理进程与业务进程的状态,出现代理进程死亡或者业务进程死亡时,监控进程负责重新拉起新的进程继续后续的业务请求;
b) 负责维持业务进程组中业务进程的数量,监控进程会统计代理进程发送给业务进程的请求数量,以及当前业务进程组已经处理的请求数量,当已发送请求树立大于 已处理请求的数量时,监控进程会负责拉起更多的业务进程处理业务请求数据;
2) 代理进程
a) 负责接受外部网络的连接请求以及发送的数据包,同时将从外部接受的网络数据包发送给业务处理进程;
b) 负责向外部网络发送服务响应包,接受业务进程回复的数据,发送给外部的网络请求发送方;
c) 负责网络框架的自我保护,代理进程统计当前系统中正在处理的请求个数(已接受数据包-已处理的数据包),检测是否已经超过系统已经设定的最大请求处理的阈值,结果反映超过了当前系统的负载处理能力,则直接拒绝新的业务处理请求,直至系统当前的负载低于系统设计的负载能力,才继续接受处理后续的业务请求树立;
d) 负责发送代理进程状态信息、代理进程已接受、已发送的数据给监控进程;
3) 业务进程组
a) 负责接受代理进程发送的请求数据包,根据业务特性进行具体的业务逻辑的处理,最后向代理进程发送处理完成之后的数据包;
b) 负责具体业务逻辑的实现;
c) 负责发送业务进程的状态信息、业务处理数据等给监控进程;
采用这种框架最大的优点在于:将外部网络收发包,全部放到代理进程,与业务逻辑相关的处理操作,全部放到业务处理进程中。在业务处理过程中,由于各种原因导致的业务服务不稳定,只会影响当前正在处理的请求,而不至于影响服务的整体稳定性,确保将对用户造成的损害控制在非常小的范围之内,不至于给大范围内的用户带来产品体验上的影响。
服务器基本要求
1) 满足大量请求并发的使用场景;
2) 业务逻辑需要与网络操作解除耦合关系;
3)自保护的能力,发生大量请求,导致已经超出服务框架的处理能力时,仍然能够坚强的提供服务;
4) 服务自调整的能力,框架能够更具当前系统的请求量,能够拉起更多业务处理进程(线程);
5) 服务容错能力,服务处理过程中出现异常,导致服务异常退出,能够自动拉起新的服务,继续处理后续的请求;
框架的总体架构图
核心模块介绍
1) 监控进程
a) 负责监控代理进程与业务进程的状态,出现代理进程死亡或者业务进程死亡时,监控进程负责重新拉起新的进程继续后续的业务请求;
b) 负责维持业务进程组中业务进程的数量,监控进程会统计代理进程发送给业务进程的请求数量,以及当前业务进程组已经处理的请求数量,当已发送请求树立大于 已处理请求的数量时,监控进程会负责拉起更多的业务进程处理业务请求数据;
2) 代理进程
a) 负责接受外部网络的连接请求以及发送的数据包,同时将从外部接受的网络数据包发送给业务处理进程;
b) 负责向外部网络发送服务响应包,接受业务进程回复的数据,发送给外部的网络请求发送方;
c) 负责网络框架的自我保护,代理进程统计当前系统中正在处理的请求个数(已接受数据包-已处理的数据包),检测是否已经超过系统已经设定的最大请求处理的阈值,结果反映超过了当前系统的负载处理能力,则直接拒绝新的业务处理请求,直至系统当前的负载低于系统设计的负载能力,才继续接受处理后续的业务请求树立;
d) 负责发送代理进程状态信息、代理进程已接受、已发送的数据给监控进程;
3) 业务进程组
a) 负责接受代理进程发送的请求数据包,根据业务特性进行具体的业务逻辑的处理,最后向代理进程发送处理完成之后的数据包;
b) 负责具体业务逻辑的实现;
c) 负责发送业务进程的状态信息、业务处理数据等给监控进程;
采用这种框架最大的优点在于:将外部网络收发包,全部放到代理进程,与业务逻辑相关的处理操作,全部放到业务处理进程中。在业务处理过程中,由于各种原因导致的业务服务不稳定,只会影响当前正在处理的请求,而不至于影响服务的整体稳定性,确保将对用户造成的损害控制在非常小的范围之内,不至于给大范围内的用户带来产品体验上的影响。
相关文章推荐
- jphone项目设计介绍(一个基于C++的应用程序框架以及软电话和日志服务器应用)
- C++ 高性能服务器网络框架设计细节
- C++ 高性能服务器网络框架设计细节(转载)
- C++ 高性能服务器网络框架设计细节
- 深入浅出node.js游戏服务器开发——Pomelo框架的设计动机与架构介绍
- Unity3d&C#分布式游戏服务器ET框架介绍-组件式设计
- C++高性能服务框架revover:rudp总体介绍(可靠UDP传输)
- C++ 高性能服务器网络框架设计细节
- Unity3d&C#分布式游戏服务器ET框架介绍-组件式设计
- C++ 高性能服务器网络框架设计细节
- (pomelo系列入门教程)深入浅出node.js游戏服务器开发——Pomelo框架的设计动机与架构介绍
- C++ 高性能服务器网络框架设计细节
- 高性能Web服务器设计
- 基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍
- 高性能服务器程序框架
- 异步服务器框架设计
- 从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则
- 棋牌游戏服务器架构: 总体设计
- 基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
- 企业级服务器设计与实现经验之系统框架(二)--功能/应用服务器主体框架