3分钟读懂何为分布式、微服务和集群!

网络知识 2024-12-02 11:37www.1681989.comseo网站推广

一、分布式系统之旅

小马经营的在线购物网站TT猫,犹如一个繁华的购物天堂,拥有商品管理、订单处理、用户管理、支付管理和购物车等多个模块。这些模块就像城市的各个区域,各自独立且功能齐全,每个模块都被部署到独立的云服务器主机上,实现分布式运作。

当程序员小明浏览TT猫,想要购买一款cherry机械键盘时,他体验了一系列流畅的操作:打开首页、搜索商品、浏览详情和评论、添加购物车、下单、支付等。这一系列操作背后,是复杂的系统调用关系,如同城市的交通网络,错综复杂,用户虽看不见摸不着,但整个下单过程却在网络之间流畅进行。

TT猫的分布式系统,将各个功能模块分布部署在不同的地方,最终完成了用户的请求。这就像是一个大型机器,各个部件协同工作,共同实现用户的需求。

二、微服务的奥秘

微服务是分布式系统的一种架构,更加注重单一职责、轻量级通信(HTTP)、独立性和进程隔离。实践是检验真理的唯一标准,所以建议大家多多了解Spring-Cloud相关微服务组件。

在TT猫的双十一活动中,瞬间涌入大量用户,这时就可能会遇到用户下单超时或500错误等问题。为了解决这个问题,就需要引入微服务的概念。

三、负载均衡集群的力量

为了应对双十一这样的重要活动,马爸爸提前购买了多台服务器,工程师们将各个业务功能模块复制并部署了多份。这些相同功能的模块构成了一个集群组,以单一系统的模式进行管理。当用户进行下单操作时,实际上是与一个集群组进行交互。这个集群组有自己的调度算法,确保用户的请求被合理地分配到其中一个服务器上处理。

负载均衡器就像是古代风月场的老鸨或大茶壶,负责招呼客人并分配房间。而集组中的每个服务器就像是房间里的风尘女子,负责处理用户的请求。在生产环境中,我们可以使用各种负载均衡器来满足不同的需求,如硬件F5、DNS负载均衡、LVS等。这些负载均衡器在网络中的工作原理与七层网络模型或TCP/IP五层模型密切相关。

四、高可用集群的保障

为了实现高可用集群,我们需要避免单点故障。双机热备是一种高可用集群的体现形式,生产环境中存在两个负载均衡节点,主节点处于激活状态,另一个节点处于备用状态。当主节点意外宕机时,可以通过keepalived检测并迅速切换到备用服务,保障业务正常运转。“两地三中心”等概念也是云服务中常用的高可用集群策略。这些策略都是为了确保业务的连续性和稳定性。

五、弹性云的灵活性

为了应对双十一这样的活动,小马哥购置了大量服务器。但活动过后,平时的用户访问量并不能充分利用这些服务器的计算能力,导致大量服务器处于空闲状态。为了充分利用这些资源,小马哥组建了TT云团队,实现了弹性云。弹性云可以根据业务需求灵活地调整服务器资源,实现资源的最大化利用。这样一来,无论是在活动高峰期还是平时,都能保证业务的稳定运行。六、故障转移与负载均衡的魅力

小明同学被一款键盘吸引,心情愉悦的点击购买按钮,然而页面却突然跳转至登录界面,他困惑不已。对此,普通用户可能只是稍作疑惑,重新登录即可。但作为严谨的程序猿小明,决心深挖背后的原因。

经过一番资料查阅与分析,小明得出了结论:他原本下单的服务可能暂时挂起,请求被分发到了另一台服务上。为何会出现跳转至登录页面的情况呢?身为程序员的小明明白,服务分为有状态和无状态的。虽然日常HTTP请求是无状态的,但用户状态通常通过cookie或session来确定。

用户信息如存储在Tomcat的session中,而session又在Tomcat内存中时,通过浏览器的cookie中的JSESSIONID与服务器进行认证。但当服务器出现故障,下单请求被分发到其他服务时,小明的session便无法找到。

小明将问题反馈给TT猫团队,引起了小马哥的重视。工程师们迅速提出两种解决方案:一是服务器用户状态复制,但这一方案成本较高,需要软硬件支持,且存在延迟和失败的风险;二是统一存储用户状态,采用Redis来存储用户状态数据。最终,团队选择了第二种方案。

最近小明接触并使用了阿里云的负载均衡SLB,对TT猫的负载均衡实现有了更深入的了解。负载均衡采用集群部署,可实现会话同步,消除服务器单点故障,提升冗余,确保服务的稳定性。阿里云提供的四层(TCP和UDP协议)和七层(HTTP和HTTPS协议)负载均衡服务,为服务稳定性提供了强有力的支持。

其中,四层负载均衡采用开源软件LVS(Linux Virtual Server)配合keepalived实现。而七层负载均衡则采用Tengine。在LVS集群部署模式下,会话会通过组播报文同步到集群内的其他LVS机器上,保证了服务的稳定性和可用性。当某台LVS出现故障或需要维护时,流量会自动转移到其他正常运行的机器上,实现了负载均衡服务的热升级和透明化。这种机制确保了用户业务的连续性,为用户带来了更加流畅和稳定的体验。

上一篇:数字孪生技术与应用分析 下一篇:没有了

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by