前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式

分布式

作者头像
周杰伦本人
发布2022-10-25 16:06:57
4340
发布2022-10-25 16:06:57
举报
文章被收录于专栏:同步文章

什么是分布式架构下的高可用设计

  1. 避免单点故障 a) 负载均衡技术(failover/选址/硬件负载/ 软件负载/去中心化的软件负载(gossip(redis- cluster))) b) 热备(linux HA) c) 多机房(同城灾备、异地灾备)
  2. 应用的高可用性 a) 故障监控(系统监控(cpu、内存)/链路监控/日志监 控) 自动预警 b) 应用的容错设计、(服务降级、限流)自我保护能力 c) 数据量(数据分片、读写分离)

分布式架构下的可伸缩设计

垂直伸缩 提升硬件能力 水平伸缩 增加服务器

加速静态内容访问速度的 CDN

CDN 是 Content Delivery Network 的缩写,表示的是内容分发网络。CDN 的作用是把用户需要的内容分发到离用户最近的地方,这样可以是用户能够快熟获取所需要的内容。CDN 其实就是一种网络缓存技术,能够把一些相对稳定的资源放到距离最终用户较近的地方,一方面可以节省整个广域网的贷款消耗,另外一方面可以提升用户的访问速度,改进用户体验。我们一般会把静态的文件(图片、脚本、静态页面)放到 CDN 中

在这里插入图片描述
在这里插入图片描述
  1. 当用户点击网站页面上的内容 URL,经过本地 DNS 系统解析,DNS 系统会最终将域名的解析权交给 CNAME 指向的 CDN 专用 DNS 服 务器
  2. CDN 的 DNS 服务器将 CDN 的全局负载均衡设备 IP 地址返回用户
  3. 用户向 CDN 的全局负载均衡设备发起内容 URL 访问请求
  4. CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL, 选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备 发起请求。
  5. 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务, 选择的依据包括:根据用户 IP 地址,判断哪一台服务器距用户最近; 根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有 用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器 尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设 备会向全局负载均衡设备返回一台缓存服务器的 IP 地址
  6. 局负载均衡设备把服务器的 IP 地址返回给用户 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内 容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而 区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一 级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

什么情况下用CDN

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

灰度发布

我们的应用虽然经过了测试部门的测试,但是仍然很难全面覆盖用户的使场景,为了保证万无一失,我们在进行发布的时候一般会采用灰度发布,也就是会对新应用进行分批发布,逐步扩大新应用在整个及群众的比例直到最后全部完成。灰度发布是针对新引用在用户体验方面完全无感知。灰度发布系统的作用在于,可以根据自己的配置,来将用户的流量导到新上线的系统上,来快速验证新的功能修改,而一旦出问题,也可以马上的恢复,简单的说,就是一套A/BTest 系统.

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是分布式架构下的高可用设计
  • 分布式架构下的可伸缩设计
  • 加速静态内容访问速度的 CDN
  • 什么情况下用CDN
  • 灰度发布
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档