最近看了好多高并发的文章和讨论。随便写写。
对于高并发的解决应对方案,无非是以下几点:
- 首先是对业务逻辑的解析。看哪些是可以进行高并发优化的。有些业务是可以上Cache的,有一些静态是可以上CDN的。还有一些是可以通过中间层和持久连接解决的。不同的业务有不同的优化方案。对业务逻辑的透彻解析是高并发应对的最基础也是最重要的部分。
- 其次是针对不同的业务逻辑进行不同的方案选择。技术上面无非是动静态分离,CDN,请求队列,拉取变推送,缓存共享,负载均衡,数据分库分表,数据库缓存,读写分离等技术,一般会用到其中的一种或多种搭配使用。往大方向说一般通用的解决方案就是首先动静态内容分离,静态资源上CDN,动态请求回源,源服务器做负载均衡,把请求进行队列化,源服务器缓存共享,持久连接,数据库前加cache,数据库中间层统一处理,对后端多台数据库做读写分离,分库分表处理。
- 还要考虑系统设计要尽可能的方便水平扩展,任何环节当前机器数量扛不住的情况下可以方便的增加机器。当然在向可水平扩展的架构转化过程中会有一定性能损失,这就要具体情况具体分析权衡好哪些环节进行转化。
其他的想到再写。
本文作者:
TMs
本文链接: https://blog.tms.im/2016/08/10/high-concurrency.html
版权声明: 本作品采用 CC BY-NC-SA 3.0 CN 进行许可。转载请注明出处!
本文链接: https://blog.tms.im/2016/08/10/high-concurrency.html
版权声明: 本作品采用 CC BY-NC-SA 3.0 CN 进行许可。转载请注明出处!