分布式和集群和微服务 集群,分布式,微服务概念和区别理解

微服务是架构的一种,也属于分布式范畴。微多少钱?在分布式系统中,微服务强调单一责任、轻量级通信(HTTP)、独立性和进程隔离。嗯,没什么好说的。实践出真知。建议你多了解一下Spring-Cloud相关的微服务组件。第一,分布式小马正在运营一家名为TT猫的网购网站,网站有商品管...

微服务是架构的一种,也属于分布式范畴。微多少钱?在分布式系统中,微服务强调单一责任、轻量级通信(HTTP)、独立性和进程隔离。嗯,没什么好说的。实践出真知。建议你多了解一下Spring-Cloud相关的微服务组件。

第一,分布式

小马正在运营一家名为TT猫的网购网站,网站有商品管理、订单管理、用户管理、支付管理、购物车等模块。每个模块都部署到一个独立的云服务主机上。

现在,程序员小明浏览TT猫,想买一个牛逼的樱桃机械键盘来提高工作效率。于是他打开TT猫的主页,搜索商品,浏览详情,评论,添加购物车,下单,支付等等。小明同学一气呵成顺利购物完,当然也花了不少钱。

但是系统是如何进行这一系列操作的,如下图:错综复杂的调用关系(忽略一些细节)。用户看不到也摸不到,但整个订购过程都是在网络间游走。

图1分布式解释

TT将所有的功能模块分布在不同的地方,最终完成用户的一系列请求。这很可能是一个分布式系统。

第二,微服务

博主微服务是架构的一种,也属于分布式范畴。微多少钱?在分布式系统中,微服务强调单一责任、轻量级通信(HTTP)、独立性和进程隔离。嗯,没什么好说的。实践出真知。建议你多了解一下Spring-Cloud相关的微服务组件。

TT猫,每年都会搞一些活动,比如女生最爱的光棍节(双11)。夜深人静的时候,会有大量用户瞬间涌入,某个时候会把一些服务敲下来。

这时候问题来了,用户订单超时,或者直接500错误。怎么解决?

图2 TT猫***

第三,负载均衡集群

这么重要的活动怎么会发生这种事?其实爸爸马提前买了几台服务器,工程师已经***部署了几个业务功能模块。

具有相同功能的每个模块组成一个组,并作为一个单独的系统进行管理。妹子下单的时候其实是和一个集群群有关系的,但是系统会保证只和其中一个有关系。跟谁,集群组有自己的调度算法,不用担心跟妹子没关系。

图3负载平衡调度

我们举一个古代淫而不淫的例子。如果你生活在古代,18岁,未婚,在高富帅,你急需解决你个人的生理问题。所以,你来到了传说中的浪漫场。咳咳,这个古代是合法的。这个时候,老鸨或者大茶壶就会过来迎接你。如果没有特殊要求,你会被带进一个房间,里面有一个满身灰尘的女人。......

风向转的时候,你有没有眨一下你程序员的眼睛?你可以这样理解。老鸨是负载均衡器,内置调度算法,***是***组之一。

图4花月圆。

好了,言归正传。省略号会自动填充。朋友们看到这里可能会问,生产环境下我们一般用什么做负载均衡器?

如果资金雄厚,请使用硬件F5

如果资金雄厚,请使用硬件F5

用DNS负载均衡不差钱。

用令人敬畏的技术使用LVS

被逼的小创业公司只能用Nginx。

当然,不止以上的负载平衡器。感兴趣的同学可以通过谷歌了解一下。

《论知行》一文说:知其所以然,知其所以然。先简单说一下这些负载均衡器在网络中是怎么走的。学过网络的朋友大概都知道七层网络模型。

首先一张图,让大家回顾一下大学的基础课程。

首先一张图,让大家回顾一下大学的基础课程。

没有即时课堂书的感觉,不过瘾?另一个TCP/IP五层模型。

每层楼都有不同的设备。比如国企用的F5,财大气粗,不缺钱,在4-7层上班。互联网公司常用的LVS工作在传输层,而应用最广泛的Nginx工作在应用层。

图5

最后说一下DNS负载均衡。虽然DNS是最原始最简单的方法,但是DNS负载均衡的控制权掌握在域名服务商手中。NDS存在多级解析、缓存A记录的问题,网站本身也做不了更多的管理。因此,中小型公司很少使用它。

当然,自身实力足够硬,DNS负载均衡也是不错的选择。下图是测试TT猫域名A记录获得的部分信息。仅供参考,可自行了解。

图7

四。高可用性集群

图表高可用性集群

因为它是一个集群,所以不可能有单点故障。如果你关注云服务,可能会接触到以下几个词,比如“双机热备”、“两地三中心”等等。

热备用是高可用性的一种形式。如上图所示,生产环境中有两个负载平衡节点。主节点处于活动状态,另一个节点处于备用状态。当主节点意外宕机时,可以通过keepalived检测到,并快速切换到备用服务,保证业务的正常运行。至于两地三中心,下面这张图可能会让你理解的更透彻。图片来自网络。

图8

动词 (verb的缩写)弹性云

为了备战双十一,Mark购买了大量的服务器,但是活动结束后,平时的用户访问量无法满足服务器的容量,导致空窗口期出现大量的服务器。

太好了。不能闲着。精明的马克拍了拍脑袋,组建了TT云团队。通过多年的努力,我们开发了按量付费云、弹性IP、共享带宽等产品。,为中小企业开源节流。

不及物动词故障切换

图9故障转移

小明觉得这个键盘不错。他点击了购买按钮,突然跳到了登录页面。

图10

搞什么鬼?我脱了裤子,你就给我看这个?普通用户可能觉得没什么问题,重新登录就行了。但作为严格的程,小明想弄清楚到底发生了什么。

经过仔细的数据分析,肖明得出了以下结论:

上述失败后,小明以为自己点的服务挂了,请求被分发到了另一个服务,但为什么会跳转到登陆页面?作为程序员,小明清楚地知道服务分为有状态和无状态。虽然我们通常的HTTP请求是无状态的,但用户状态通常是由cookie或会话确定的。

在这里,各位读者应该明白这是什么鬼。就拿我们熟悉的Tomcat来说吧,我们的用户信息一般都存储在session中,session存储在Tomcat内存中。通过浏览器cookie中的JSESSIONID向服务器进行身份验证。

但是,服务器挂起,订单请求被分发到另一个服务。自然,小明再也找不到他的会话了。

小明把问题交还给了TT猫。马克见没事了,集群还缺,赶紧让工程师想办法。

工程师最终提出了两个方案:

用户状态***(高成本、硬件和软件支持、延迟和故障风险)

用户状态统一存储(我不说话,只是笑笑)

图11

最后,工程师采用第二种方案,使用Redis存储用户状态数据。

知识补充

最近接触并使用了阿里云的负载均衡SLB,大致了解了TT猫的负载均衡实现。以下架构实现来自TT卡特彼勒。

负载均衡采用集群部署,可以实现会话同步,消除服务器单点故障,增强冗余,保证服务稳定性。阿里云目前提供四层(TCP和UDP)和七层(HTTP和HTTPS)的负载均衡服务。

第四层采用开源软件LVS (Linux虚拟服务器)+keepalive实现负载均衡。

第七层采用Tengine实现负载均衡。

图12

如下图所示,各个地区的四层负载均衡实际上是通过将多台LVS部署到一个LVS集群中来实现的。集群部署模式极大地保证了负载均衡服务在异常情况下的可用性、稳定性和可扩展性。

图13

LVS集群中的每个LVS都会有一个会话,通过组播消息同步到集群中的其他LVS机器,从而实现LVS集群中机器之间的会话同步。如下图所示,客户端向服务器发送三个数据包后,LVS1上建立的会话A开始与其他LVS机器同步。图中实线表示已有连接,图中虚线表示当LVS1出现故障或维护时,这部分流量会去往一台可以正常运行的机器LVS2。所以负载均衡集群支持热升级,在机器故障和集群维护的情况下,对用户最大程度的透明,不影响用户的业务。

图14

本文来自习惯有你投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/532517.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-04
下一篇 05-04

相关推荐

  • memcache安装教程 redis分布式缓存

    一、分布式部署设置:虽然memcached被称为“分布式”缓存服务器,但是在服务器端没有“分布式”功能。每台服务器都是完全独立和隔离的服务。memcached的分发完全由客户端库实现。这种分布是memcached最大的特点。因此在部署时,以同样的方式在不同的服务器上安装部署。二。监控

    2023-07-19 03:51:01
    610 0
  • 分布式应用程序是什么 微服务架构设计模式

    分布式云应用(也称为微服务)在云软件的设计和操作中引入了许多复杂性。曾经,单个应用程序将复杂性隐藏在单个进程或运行时中,但现在它分散在数十或数百个松散耦合的服务中。尽管所有这些服务都可以使用不同的编程语言,并且可以相互独立地进行扩展,但是分布式特性通常会使整

    2023-07-17 23:15:01
    377 0
  • java 分布式有哪些技术 java分布式系统操作

    应用架构发展这里的架构演进应该是从服务的角度。应该说,随着业务的发展和应用规模的扩大,系统的一些公共服务会被抽取出来,独立开发、部署和维护,以解决并发、扩展和维护的问题。传统垂直架构有些地方也叫单体应用,用mvc模式开发:所有应用代码统一打包,代码所有接口本地

    2023-06-26 13:19:02
    296 0
  • 集中部署和分布式部署的优缺点 2种部署有什么区别

    87年前的隆冬,从伦敦牛津街购物归来的英国女作家弗吉尼亚伍尔夫(Virginia Woolf)在她的购物日记中是这样描述的:超市里的烟草被卷成无数整齐的香烟,包装在银纸上,羊毛被纺成薄薄的背心和柔软的***,羊的脂肪变成芳香的奶油,使皮肤变得细腻。87年后的冬天,在北京某银行的会

    2023-05-13 16:29:01
    154 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信