加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

一文详解:如何设计出高可用的分布式架构?

发布时间:2018-08-14 11:28:51 所属栏目:教程 来源:佚名
导读:【资讯】本文作者将与大家分享目前主流的分布式架构、分布式架构中常见理论以及如何才能设计出高可用的分布式架构。 在分布式架构中,SOA 和微服务架构是最常见的两种分布式架构,而且目前服务网格的概念也越来越火了,我们就先从这些常见的架构开始。 SOA

  CDN 本质上就是一种网络缓存技术,能够把一些相对稳定的资源放到距离最终用户较近的地方,一方面可以节省整个广域网的带宽消耗,另外一方面也可以提升用户的访问速度、改善用户体验。

  一文详解:如何设计出高可用的分布式架构?

  现实系统中我们一般会把静态的文件(图片、脚本、静态页面等)放到 CDN 中:

  当用户访问网站页面上的内容 URL,经过本地 DNS 系统解析,DNS 系统最终会将域名的解析权交给 CNAME 指向的 CDN 专用 DNS 服务器。

  CDN 的 DNS 服务器将 CDN 的全局负载均衡设备 IP 地址返回用户。

  用户向 CDN 的全局负载均衡设备发起内容 URL 访问请求。

  CDN 全局负载均衡设备根据用户 IP 地址,以及用户请求的内容 URL, 选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。

  区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务。选择的依据包括:根据用户 IP 地址,判断哪一台服务器距离用户最近。

  根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器上有服务能力。

  基于以上条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的 IP 地址。

  全局负载均衡设备把服务器的 IP 地址返回给用户。用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容返回到用户终端。

  如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直到追溯到包含该内容的源服务器并将内容拉到本地。

  什么情况下用 CDN?

  最适合的是那些不会经常变化的内容,比如图片,JS 文件,CSS 文件。图片文件包括程序模板中 CSS 文件中用到的背景图片,还有就是作为网站内容组成部分的那些图片等等。

  灰度发布

  我们的应用即使经过了测试部门的测试,也仍然很难全面覆盖用户的使用场景。

  为了保证万无一失,我们在进行发布的时候一般都会采用灰度发布,也就是会对新应用进行分批发布,逐步扩大新应用在整个及集群中的比例直到最后全部完成。灰度发布是说针对新应用在用户体验方面完全无感知。

  灰度发布系统的作用在于,可以根据自己的配置,来将用户的流量导到新上线的系统上,来快速验证新的功能。

  而一旦出问题,也可以马上的回滚发布,简单的说,就是一套 A/B Test 系统:

  一文详解:如何设计出高可用的分布式架构?

  总结

  通过本文,我们就对主流的 SOA 架构、微服务架构、服务网格架构做了解析,然后知道了分布式架构中的几个基本理论,然后还分析了如何设计出高可用的分布式架构。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读