今天互联网上的任何现代网站都会收到数千次点击,如果不是数百万次的话。如果没有任何可扩展性策略,网站要么崩溃,要么性能显着下降——我们希望避免这种情况。众所周知,添加更强大的硬件或垂直扩展只会延迟问题。但是,在没有经过深思熟虑的方法的情况下添加多个服务器或水平扩展可能无法充分利用这些好处。
在任何领域创建高度可扩展系统的秘诀是使用经过验证的软件架构模式。软件架构模式使我们能够创建经济高效的系统,可以处理数十亿个请求和 PB 级数据。本文介绍了最基本和最流行的可伸缩性模式,称为负载平衡。负载平衡的概念对于在云中构建高流量站点的任何开发人员都是必不可少的。本文首先介绍了负载均衡器,然后讨论了负载均衡器的类型;接下来是云中的负载均衡,然后是开源选项,最后是选择负载均衡器的一些指针。
负载均衡器是一个流量管理器,用于在可以处理传入客户端请求的所有服务器上分配这些请求。该模式通过最小化请求处理时间和最大化容量利用率来帮助我们实现云计算的全部潜力。流量管理器仅将请求调度到可用服务器;因此,该模式适用于可扩展的云系统。每当将新服务器添加到组中时,负载均衡器都会开始调度请求并纵向扩展。相反,如果服务器出现故障,调度程序会将请求重定向到组中的其他可用服务器并缩减,这有助于我们节省资金。
了解负载均衡器的基础知识后,接下来是熟悉负载均衡算法。大致有两种类型的负载平衡算法。
静态负载均衡器根据算法平均分配传入流量。
顾名思义,动态负载均衡器会考虑每个服务器的当前状态,并相应地调度传入请求。
成功的云策略是将负载均衡器与 Auto Scaling 结合使用。通常,云应用程序的网络流量、内存消耗和 CPU 利用率受到监视。这些指标和趋势可以帮助定义扩展策略,以动态添加或删除应用程序实例。云中的负载均衡器会考虑动态调整大小,并根据可用服务器调度流量。以下部分介绍了云中一些众所周知的解决方案:
Amazon ELB 是一种高度可用且可扩展的负载均衡解决方案。它非常适合在 AWS 中运行的应用程序。以下是四种不同的亚马逊ELB选择:
Google Cloud Load Balancing 是 Google 提供的高性能且可扩展的产品。它每秒最多可支持100万+次查询。它可以分为两大类,即内部和外部。每个主要类别都根据传入流量进一步分类。以下是几种负载均衡器类型。
有关比较所有可用负载均衡器的完整指南,请参阅 Google 负载均衡器页面。
Microsoft Azure 负载平衡解决方案提供三种不同类型的负载平衡器:
尽管默认选择始终是使用特定于供应商的云负载均衡器,但有一些开源负载均衡器选项可用。以下是其中的两个。
NGINX提供NGINX Plus和NGINX现代负载平衡解决方案。有许多流行的网站,包括Dropbox,Netflix和Zynga,都使用NGINX的负载均衡器。NGINX负载均衡解决方案具有高性能,可以帮助提高高流量网站的效率和可靠性。
Cloudflare是另一种流行的负载平衡解决方案。它提供不同级别的负载均衡器,以满足特定的客户需求。定价计划基于提供的服务、运行状况检查和安全性。
从上面的部分中可以明显看出,负载均衡器会对应用程序产生重大影响。因此,选择正确的解决方案至关重要。以下是做出决定的一些注意事项。
大多数专家都认为,使用负载均衡器来管理流量是最佳实践,这对云应用程序至关重要。通过使用负载均衡器,应用程序可以更好地为请求提供服务,并节省成本。
标签:互联网,icode9,架构模式,负载均衡器,基础知识,应用程序 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。