啪啪啪613——项目第一次讨论

项目名称:智居(智能电器综合管理系统)
讨论时间:贰零壹玖年拾壹月拾柒日
讨论地点:应用楼
讨论人员:齐鑫 王毓霖 王云鹏 蒲文强 马进 王昊 赵智阳
天气:暴风雪
讨论主题及方向:软件使用过多导致服务器过载问题

讨论证据:

 

 

 

解决方案:
1、 优化服务处理流程,降低处理资源消耗,提升自身处理能力;例如CPU消耗型服务,是否可以考虑优化算法,提升处理能力。

2、 分离处理模块;将负载分担到不同的模块或者服务器。

3、 负载均衡;将请求量分流,降低单服请求量。

4、 轻重模块分离;重要模块单独部署和处理,防止模块之间的互相影响。

5、 前端防御;在前端控制请求频率,缓解后端压力;例如客户端可以做保护措施,控制聊天频率,点击操作失败,可以延时一段时间,才允许用户继续点击;前端服务发现后端出现过载问题,可选择性拒绝服务,降低后端压力。

6、 使用缓冲区;缓冲区的使用,可以帮我们抵挡请求量的抖动,但缓冲区的使用同样也有很多技巧,并非越大越好。首先需要考虑内存,cpu等资源的开销,业务的模型是否需要这么大的缓冲区。例如缓冲区过大,处理完整个缓冲区,都需要几十秒,而前端等待超时则为几秒,那么每次处理缓冲区的内容,都是旧的,前端认为都是超时,服务完全不可用。另外是后端却又处理成功,会导致系统信息不对称,从而导致更为严重的问题,例如,在游戏中购买道具的场景,前端扣用户的钱,认为超时失败而不给用户发对应的物品,后端却又执行成功了,严重运营问题就此产生。
会后总结:
处理过载的方法有许多,适用于不同的业务场景,并无绝对的最优方案,合适的才是最好的。

posted @ 2019-11-21 20:38  啪啪啪613  阅读(191)  评论(0)    收藏  举报