微服务扩展性和高可用-章节2(翻译)

原文出处:https://dzone.com/refcardz/scalability?chapter=2实现系统的可扩展

SLA决定系统是否必须扩展。它们还推动了增长时间表。股票交易系统必须在最低和最高可用性水平内实时扩展。相比之下,电子商务系统可能会在一年中“缓慢”的几个月扩大规模,而在零售假日期间扩大规模,以满足更大的需求。

负载均衡

负载平衡是一种通过在两个或多个资源之间分配请求来最小化响应时间最大化吞吐量的技术。负载均衡器可以在专用硬件设备或软件中实现。图3显示了负载平衡系统在资源使用者看来是如何通过已知地址作为单个资源公开的。负载均衡器负责根据调度规则将请求路由到可用系统。

c0a9f230-721a-11e9-b22a-7d284106ced1.png

图 3: 可用性占每年总正常运行时间的百分比

调度规则是用于确定必须为请求提供服务的服务器的算法。Web应用程序和服务通常通过遵循循环调度规则来实现平衡,但也可以基于最少连接、IP-hash或许多其他选项来实现平衡。缓存池通过应用频率规则和过期算法进行平衡。对于任何数量的服务器,无状态请求以统一的概率到达的应用程序可以使用伪随机调度程序。一些内容在统计上更受欢迎的应用程序,如音乐商店,可能会使用非对称的负载均衡器将更多的流行请求转移到更高性能的系统,从而服务于功能较弱的系统或集群的其余请求。

持久负载均衡器

当使用者保证与池中的特定服务器保持会话时,有状态应用程序需要持久的或粘性的负载均衡。图4显示了一个由多个客户主导的持续会话的均衡。图5显示了集群如何通过使用数据库共享数据来维护会话。

e6e67590-721a-11e9-b22a-7d284106ced1.png

图 4: 粘性负载平衡器

负载均衡器的常见功能

非对称负载分布-分配一些服务器来处理比其他服务器更大的负载

  • 内容筛选:入站或出站.
  • 分布式拒绝服务(ddos)攻击保护
  • 防火墙.
  • 有效负载切换:根据URI、端口、与或(and/or)协议向不同的服务器发送请求。
  • 优先级激活:将备用服务器添加到池中.
  • 速率整形:对不同的流量给予不同优先级的能力.
  • 脚本:通过实现编程规则或操作来减少人与人之间的交互。
  • 本地终结TLS/SSL会话: 硬件辅助加密释放Web服务器资源
  • TCP缓冲和卸载:限制对池中服务器的请求
  • gzip压缩:降低传输带宽利用率。
186c3960-721b-11e9-b22a-7d284106ced1.png

图 5: 数据库 Sessions

原文链接:https://dzone.com/refcardz/scalability?chapter=2

原文作者:Matt Rasband;Eugene Ciurana

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券