云原生时代,分布式系统设计必备知识图谱.pdfVIP

云原生时代,分布式系统设计必备知识图谱.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
云原生时代,分布式系统设计必备知识 图谱 我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝、微 信这样顶级流量产品、还是区块链、IOT 等热门概念、抑或如火如荼的容器生 态技术如 Kubernetes,其背后的技术架构核心都离不开分布式系统。 为什么要懂分布式架构设计 系统学习分布式架构设计对于技术人的成长非常关键,对于云原生开发者而言 如何设计出符合云原生设计哲学的应用,往往离不开分布式系统知识与方法论 的运用。如何设计出高弹性、可配置、可分布、高性能、高容错、更安全、更 韧性、快交付的云原生应用往往是衡量开发者水准的重要参考。 然而分布式系统是一个很大的概念,从架构设计、研发流程、运维部署、工程 效率等多个角度均有很深的知识可以挖掘,学习成本和难度相对较大。 近期,我整理了过去阅读过的一些和分布式相关书刊和文章,加上自己做分布 式开发的一些的心得分享给大家,本文作为开篇,总体上给出知识概览,后续 将分篇结合代码实践来进行阐述。起草仓促,水平有限,欢迎大家一起学习指 正。 一、设计 网关模式,Gateway 功能 • 请求路由,客户端直接调用 Gateway,Gateway 负责路由转发到注册服 务上 • 服务注册,后端服务将 API 注册,Gateway 负责路由 • 负载均衡,支持多种负载策略 • round robin • 随机均衡算法 • 多权重负载 • session 粘连 • 其它 • 安全特性,支持 HTTPS,账户鉴权,及其它安全特性支持 • 灰度发布,可以针对服务版本或者租户等特性做灰度发布 • API 聚合,将多个后端接口聚合,减少客户端调用次数 • API 编排,通过编排来串接多个 API 完成特定业务 设计要点 • 可用性,必须保证高可用 • 扩展性,可以灵活扩展以支持特定业务比如特定业务流控 • 高性能,通常使用异步 IO 模型框架实现,比如 Java netty,Go Channel • 安全,如加密通信,鉴权,DDOS 防御等 • 运维 • 应用监控,包括容量,性能,异常检测等 • 弹性伸缩,具备高弹性能力,以低成本应对高峰值 • 架构 • 与业务解耦合,提供扩展扩展机制比如 Plugin,Serverless 的思路支 持后端业务 • 服务隔离,可以按照后端服务划分网关,做到不同服务使用不同网关 • 网关部署靠近后端,保证网络损耗最小,性能最佳 边车模式,Sidecar 价值 • 分离控制与逻辑,分离业务逻辑与路由,流控,熔断,幂等,服务发 现,鉴权等控制组件 • 适用场景 • 老系统改造扩展,Sidebar 进程与服务进程部署在同一个节点,通过网 络协议通讯 • 多语言混合分布式系统扩展 • 应用程序由多方提供 设计要点 • 标准服务协议,Sidebar 到 Service,Sidebar 到 Sidebar 协议尽可能 与语言解耦 • 聚合控制逻辑比如流控,熔断,幂等,重试,减少业务逻辑 • 不要使用对服务侵入的方式进行进程间通讯如信号量,共享内存,优先 使用本地网络通讯的方式比如 TPCP 或者 HTTP 服务网格,Service Mesh 新一代微服务架构,本质是服务间通信的基础设施层。 特点 • 应用间通讯中间层 • 轻量级网络代理 • 解耦应用程序 • 应用程序无感知 主流框架 • Istio • Linkerd 分布式锁 解决方案 • Redis 分布式锁,SETNX key value PX expiretime

文档评论(0)

139****1921 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档