高并发与高可用

一、高并发实时后台服务技术架构杂谈

    1)流控(流量控制)后台服务可以支撑的最大并发量,虽然理论上可以通过添加节点(机器)的方法横向扩展,

(你有一台API服务器,每天几百万次请求,吃不消了。现在要提升性能
    横向扩展:多增加几台API服务器,一起服务。
    纵向扩展:把API服务器换成性能更好的机器。)
即扩容,但考虑到成本通常后台服务都会存在一个预估的能力上限。后台服务的最大支撑能力低于了实际用户的请求量,那么 后台系统造成的影响可能就如同DDOS攻击,严重的话整个后台服务都会出现不可用 根据业务场景定制合理的流控策略

    2)负载均衡网关层除了流控功能外还有一个重要的Balance Load的作用。将大量用户的请求通过负载均衡策略合理地分发给后端节点(服务器)。每个节点分配不同的权重

    3)接入层(web层)通过网关层执行一些基础的流控策略,然后再由网关层将请求转发给后端的接入层。接入层主要实现一些业务层面的基本校验功能,比如登录态校验。可过滤大部分非法请求,为合法的用户请求留出有限的后台资源。通常接入层都是无状态的,可横向扩展。

    4)逻辑层(service层):根据前轻后重的原则,接入层一般只执行一些轻量的业务逻辑,真正核心的业务逻辑放在逻辑层来实现。逻辑层是真正核心处理的模块,它的处理能力决定了整个服务的质量,因此逻辑层的设计非常重要。设计原则:缩短关键业务流程降低单个接口处理时耗同步变异步隔离

    5)存储层(Dao层):存储层主要解决的是数据快速访问,大数据量如何存储,以及数据一致性安全问题。对应的解决方案分别是缓存,分库分表,数据如何同步备份。


你可能感兴趣的:(进程与线程)