当前位置: 首页 > news >正文

北京网站建设公司哪个好wordpress网站域名地址

北京网站建设公司哪个好,wordpress网站域名地址,培训行业网站建设是什么,网络投放广告平台0 关键收获 单元化架构通过减少故障的爆炸半径来增加系统弹性单元化架构是那些任何停机时间都被认为是不可接受的#xff0c;或者可以显著影响最终用户的系统的一个好选择单元化架构通过强制使用固定大小的单元作为部署单元#xff0c;并倾向于扩展而不是扩展的方法#xf…0 关键收获 单元化架构通过减少故障的爆炸半径来增加系统弹性单元化架构是那些任何停机时间都被认为是不可接受的或者可以显著影响最终用户的系统的一个好选择单元化架构通过强制使用固定大小的单元作为部署单元并倾向于扩展而不是扩展的方法增强了微服务的可伸缩性模型单元化架构通过将各种组件可能是微服务打包并部署为单元而不是在应用程序服务的粒度级别上使它们在更广泛的系统上下文中的位置更清晰单元化架构通过在单元周围应用额外的安全层来帮助提高分布式系统安全性 本文是[单元化架构如何构建可扩展和弹性系统]系列的一部分。在这个系列中我们展示了一个发现之旅并提供了对单元化架构的许多关键方面的全面概述和深入分析以及将这种方法应用于现有和新架构的实用建议。 业务架构是一个存续了20多年的概念至今也未有官方的定义说明业务架构一个涵盖具有广泛包容性的概念在不同场景和语境下它可能包含至少如下的含义 实现业务需求的技术架构在基础架构/中台架构之上的包含具体业务功能的架构层更宏观的支持企业战略实现的能力布局也可以称为业务架构 存在即合理本专场不求对概念做清晰的阐释意在为大家展示此概念下的各种可能行展示不同业务下不同环境下技术人员如何利用或成熟的早期的或者创新的技术来解决业务问题提升业务效率。当然我们更倾向于选择具有创新意义的话题譬如 Cell-based架构最近出现的一种架构模式微服务架构大家都非常熟悉了在这个架构中采用的是“所有人都可以互相通信”的原则。在单元化架构中增加了路由策略服务会优先调用同一单元Cel中的其他服务Cell可以是可用区域也可以是任何其他的自定义的访问范围。Cell-based架构可以显著节省成本减少了延迟提高性能。同时也可以提高可用性因为故障的爆炸半径被缩小为一个单元其他单元完全不受影响可以正常运行。 Roblox、Slack 和 DoorDash 只是实施单元化架构并取得显著改进的公司的几个例子。我们相信这是一个创新趋势许多公司将开始采用因为他们希望调整分布式系统的规模、控制成本并提高系统弹性。 数据驱动架构一定程度上在基于业务数据做架构决策从数据中识别出可广泛应用的明确的趋势是非常具有挑战性的。所以在数据驱动架构下复杂的数据分析平台不再是系统的附加功能而是升级为了业务架构的的核心部分之一。 软件开发面临主要挑战之一是扩展性。无论你在创业公司还是大型企业评估如何交付一个新产品或功能时系统应该如何可靠地处理不断增加的负载的问题不可避免地出现。 构建和运营现代分布式系统的挑战随着规模和复杂性的增加而增加。基础设施资源无论是在云中还是在本地都可能经历难以排查的意外故障架构组件需要处理这些故障以提供所需的可用性。 1 单体、微服务和弹性挑战 几年前微服务及其相关的架构变得流行因为它们帮助解决了单体应用程序monorepos面临的一些扩展挑战。 正如Susan Fowler在几年前接受InfoQ采访时提到的这些应用程序可能不支持足够的并发或分区因此会达到导致性能和稳定性问题的可扩展性限制。随这些单体应用程序的增长它们在本地环境中的工作变得更加具有挑战性。应用程序部署变得越来越复杂导致团队的开发速度会急剧下降。 微服务通过使团队能够独立工作、部署和扩展服务来缓解这些问题。然而像大多数事物一样没有什么是无缺陷的微服务也有挑战。其中一个是微服务架构非常细粒度以至于达到了单个服务的水平。因此开发团队将缺乏对他们拥有的各个微服务在更广泛的系统上下文中的使用位置的知识。了解其他团队拥有的哪些微服务将更感兴趣也将更具挑战性。 随着时间的推移这些挑战在微服务架构变得更加复杂时变得更加突出。此外随着云基础设施的广泛采用许多公司现在管理着从计算到存储再到网络和支持服务的大量云资源。这些资源中的任何一个都可能经历失败可能导致服务的轻微或显著降级尽管使用了冗余和故障转移机制但如果没有采取特殊措施一些故障模式不能完全被遏制。 2 基于单元架构的复兴 与故障隔离相关的挑战并不新鲜也不特定于微服务或云。随着软件系统变得分布式以适应不断增加的负载需求由于其分布式特性必须考虑许多新的故障模式。 单元化架构首次出现在SOA时代作为在大型分布式系统中管理故障并防止它们影响整个系统可用性的尝试。这些公司如Tumblr、Flickr、Salesforce或Facebook的初始实现 旨在使用自包含的单元作为并行化的单元来管理基础设施和应用程序资源并隔离故障将故障的爆炸半径限制在只有一部分客户或用户群体一个分片。 单元化架构首先是舱壁模式的一种实现这是软件工程从造船业采纳的一个概念。舱壁 是船体结构中的水密垂直隔板以防船体破损时水淹没整个船。 舱壁正在保护船只免受洪水蔓延 多年来舱壁模式一直被宣传为现代架构的关键弹性模式之一特别是微服务。然而由于额外的复杂性采用率一直很低因此大多数公司选择将工作重点放在其他地方。 一些高调的公司最近选择重新审视单元化架构方法以满足其基于微服务的、云托管平台的高可用性要求 Slack已经将其大部分关键面向用户服务迁移到使用基于单元的方法 因为在AWS可用区域网络故障后经历了部分停机Doordash 实现了基于其Envoy基础服务网格的区域感知路由 转移到基于AZ的单元架构并减少了跨AZ数据传输成本反过来Roblox 正在将其基础设施重新组织为单元以提高效率和弹性 因为它继续扩展 这些公司的共同点是它们在云或私有数据中心的大型基础设施上运行微服务架构并且由于基础设施或应用程序故障的无限爆炸半径经历了严重的停机。作为回应它们采用了单元化架构以防止故障导致广泛停机。 亚马逊网络服务AWS一直是基于单元架构的长期采用者和倡导者并在2018年的年度re:Invent会议上 和2022年再次 介绍了它。该公司还于2023年9月发布了关于基于单元架构的白皮书。 3 基于单元架构的构建块 在高层次上单元化架构由以下元素组成 单元 - 自包含的基础设施/应用程序栈提供故障边界负责处理应用程序工作负载控制平面 - 负责提供资源、部署应用程序服务、确定路由映射、提供平台可观察性、移动/迁移数据等。数据平面 - 负责根据数据放置和单元健康由控制平面确定适当路由流量 为提供容错好处单元化架构旨在支持单元级别的隔离和控制平面与数据平面之间的低耦合。重要的是要确保数据平面可以在没有控制平面的情况下运行并且不应直接依赖于控制平面的健康状况。 4 单元作为一等架构构造 采用单元化架构提供了有趣的好处组合。单元首先在基础设施级别提供故障边界指定的单元实例用于服务特定部分的流量将故障隔离到用户或客户群体的一个子集。然而它们也提供了将相关应用程序服务分组到特定于域的集群中的机会帮助与架构和组织结构对齐促进高内聚和低耦合并减少工程团队的认知负担。 对于小型系统或当开始单元化架构采用工作时完全有可能有一个单元包含所有应用程序服务。对于具有许多应用程序服务的大型系统可以使用多个单元根据域边界组织架构。这种方法可以帮助更大的组织采用产品思维并使系统架构与产品域和子域对齐。这对于由数十或数百个团队构建和运营大型产品组合的大型微服务系统尤其重要。 单元化架构结合了域和故障隔离边界 从容错的角度来看一个单元或单元实例是一个完整的、独立的基础设施栈包括它运行和为指定部分的流量服务所需的所有资源和应用程序服务实例由单元分区策略确定。至关重要的是尽可能隔离单元以保持故障包含。理想情况下单元应该独立于其他单元并且不共享任何状态或具有共享依赖项如数据库。任何单元间通信应该保持在最低限度理想情况下应该避免同步API调用。相反应该使用异步、消息驱动的数据同步。如果无法避免API交互它们必须通过单元路由器进行以便不会破坏基于单元架构的故障隔离属性。 关于单元部署选项的许多考虑因素包括选择单个或多DC数据中心部署并确定最优的单元大小。一些组织采用了单个DC部署的单元化架构其中所有基础设施和应用程序资源的单元实例都位于同一个数据中心或可用区域。这种方法最小化了多DC部署的灰色故障影响并简化了健康监测单元要么健康要么不健康。另一方面如果使用得当多DC部署可以在DC级故障的情况下提供弹性但健康监测变得更加具有挑战性。 单元大小也可以在管理故障影响和管理基础设施成本方面发挥重要作用。使用较小的单元可以减少影响范围受影响的用户/客户较少提高资源利用率由于较高的单元占用水平闲置资源较少并限制重新路由流量段到其他单元所需的工作。然而如果单元大小太小可能会在服务非常大的客户/客户时带来挑战因此单元应该足够大以迎合基于分区键的最大流量段。 另一方面单元越大在资源方面就越大的经济规模这意味着更好的容量利用。管理较少的单元数量可能对运营团队来说更容易。此外对于较大的单元大小需要小心考虑基础设施限制例如云提供商平台的区域和帐户级别限制。 5 控制平面管理单元化架构 采用单元化架构需要大量的努力来开发超出支持常规微服务架构所需的管理功能。除了提供和部署基础设施和应用程序服务之外单元化架构还需要额外的功能专门用于管理和监控单元、在可用单元中划分和放置流量以及迁移数据。 基于单元架构的主要考虑是如何在单元之间划分流量应分别针对每个域使用面向单元的方法来确定。制定最佳分区方案的第一步是选择分区键。在大多数情况下这可能最终是一个用户或客户标识符但选择应针对每种情况单独进行考虑流量段的粒度以避免大于所选单元容量的段。 单元分区可以使用不同的映射方法 实现单元分区映射的方法有很多它们各自的优缺点。这些方法从完整映射存储所有映射记录到使用一致性哈希算法提供相当稳定的项目分配给桶并在添加和删除桶时最小化混乱。无论选择哪种映射方法提供覆盖能力都是有帮助的以允许对某些分区键进行特殊处理并协助测试活动。 其次是当新用户/客户加入或新单元被提供时的单元放置策略。该策略应考虑每个单元的大小和可用容量以及可能发挥作用的任何云提供商配额/限制。当单元容量阈值达到并且需要一个新的单元来容纳到达平台的流量时控制平面负责提供新的单元并更新确定数据平面路由应用程序流量的单元映射配置。 与上述相关的是数据迁移能力这对于单元放置如果需要重新洗牌分区或在事件如果单元变得不健康并需要被排空中非常重要。从技术角度来看数据迁移本质上是非常具有挑战性的因此这种能力是提供单元化架构最困难的方面之一。相反在不同单元中的数据存储之间迁移或同步底层数据开辟了关于数据冗余和故障转移的新可能性进一步提高了采用单元化架构所提供的弹性。 6 数据平面路由应用程序流量 尽管控制平面负责管理架构但数据平面可靠地移动流量数据。在单元化架构的背景下这意味着将流量路由到适当的单元如分区映射记录所确定的。需要强调的是路由层需要尽可能简单和水平可扩展并且应避免复杂的业务逻辑因为数据平面是单点故障。 路由层实现可以采用从DNS和API网关到部署在通用计算或基于容器的执行平台上的定制应用程序服务的解决方案。无论哪种情况分区映射数据必须能够从可靠的数据存储中读取可能是一个高可用的分布式数据库或blob存储服务。路由层可以支持同步API调用HTTP或GRPC和异步消息尽管后者可能更难以实现。 单元路由器作为主要数据平面组件 考虑到它在单元之间流量流动中的关键作用数据平面可以实施安全策略以确保只有经过授权的API请求才能由单元内的服务提供。因此可以实施一系列安全机制来保护免受未经授权的访问包括OAuth或JWT、用于认证的相互TLS以及用于授权的RBAC或ABAC。 7 使用基于单元架构的好处 采用基于单元架构的主要好处是通过故障隔离提高弹性。单元提供故障隔离边界并减少部署失败、客户端滥用产品/平台、运营商错误或数据腐败等问题的影响。 使用单元还可以帮助系统的可扩展性。理想情况下单元应该限制在大小上以减少故障的爆炸半径这也使单元成为扩展平台的一个很好的单元。随着时间的推移工作负载增加可以提供更多的单元来迎合新的流量新客户/用户。限制单元大小减少了来自任何非线性扩展因素或意外的争用点性能瓶颈的惊喜风险。 同样单元可以用于部署范围。而不是在任何地方都推出服务的新版本组织可以在将其更改推广到更广泛的用户/客户群体之前使用限定在单元因此是用户/客户子集的金丝雀部署。 大小受限的单元非常适合量化系统的性能因为测试单个单元的性能并根据扩展整个单元而不是扩展单元内组件来建立系统的可扩展性特征更容易。 单元提供了将属于同一子域或有界上下文的服务分组的额外好处这可以帮助组织将团队和部门边界与产品域边界对齐。这对于大型组织尤其相关这些组织中有数十或数百个团队构建和运营大型产品组合。 最后一个潜在的好处可能是从减少跨AZ流量中节省成本但这应该与运行数据平面内的路由层相关的任何额外运营成本进行权衡。 8 采用基于单元架构的考虑 虽然单元化架构在分布式系统的背景下提供了许多优势但实施这种方法需要额外的努力并引入挑战因此可能不是每个组织如仍在寻找产品市场契合度的初创公司都适合投资。像微服务架构一样单元化架构需要在底层平台上进行重大投资以便这种架构能够加速团队的速度而不是阻碍它。 考虑到大多数具有非平凡基础设施足迹的公司可能会面临过去促使其他人采用基于单元架构的挑战仍然值得评估基于单元的方法是否值得追求。 首先任何因声誉、财务或合同要求而无法承受广泛停机的公司都应该强烈考虑采用单元化架构即使不是全部至少对于关键的面向用户服务也是如此。 此外任何需要或希望低恢复点目标RPO或恢复时间目标RTO的系统也应该考虑基于单元的方法。最后需要在租户级别提供严格的基础设施级隔离的多租户产品也可以从单元化架构中受益以提供完全专用的租户能力。 任何情况下应该考虑采用基于单元架构的总成本并与预期的好处进行权衡以确定预期的投资回报。 9 总结 本系列文章我们展示了一个发现之旅并提供了对单元化架构的许多关键方面的全面概述和深入分析以及将这种方法应用于现有和新架构的实用建议。 关注我紧跟本系列专栏文章咱们下篇再续 作者简介魔都架构师多家大厂后端一线研发经验在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。 各大技术社区头部专家博主。具有丰富的引领团队经验深厚业务架构和解决方案的积累。 负责 中央/分销预订系统性能优化活动券等营销中台建设交易平台及数据中台等架构和开发设计车联网核心平台-物联网连接平台、大数据平台架构设计及优化LLM Agent应用开发区块链应用开发大数据开发挖掘经验推荐系统项目 目前主攻市级软件项目设计、构建服务全社会的应用系统。 参考 编程严选网 本文由博客一文多发平台 OpenWrite 发布
http://www.dnsts.com.cn/news/81711.html

相关文章:

  • 网站设置密码访问网站开发前端技术
  • 徐州徐州网站建设网页制作工具可以分为
  • 做网站 excel外贸网站增加外链方法
  • 网站建设客源开发2023全民核酸又开始了
  • 国内响应式网站模板网站开发人员考核
  • 企业型网站和展示型网站的区别大连金州网站建设
  • 李洋网络做网站网络服务提供者对在业务活动中收集的公民个人电子信息
  • 青海微网站建设ide 在线 wordpress
  • 网站做好了怎么上线海南省旅游专业网站发展电子商务缺乏强大的专业产业资源做后盾
  • 如何制作一个动态的网站的登录详细步骤页面对公司网站建设的建议
  • 杨彪网站建设wordpress菜单突然拉不出
  • 盐城网站建设优化建站怎样做28网站代理
  • 北京建设信源网站 怎么打不开手机网站快速排名 软件
  • 展示用网站经营范围网站建设
  • 站长收录平台个人建购物网站怎么备案
  • 模板网站修改教程视频最低价网站建设
  • 在线查询网站收录建立一个网站的英文
  • 专业柳州网站建设化工网站建设公司
  • 网页制作与网站建设宝典 pdf去国外做非法网站
  • 企业网站建设费用大约多少钱攀枝花市三线建设博物馆网站
  • 营销型网站建设公司地址网站开发设计的论文
  • 广州海珠网站开发定制专业网站建设公司兴田德润信任高
  • 网站内容优化怎么去优化呢室内设计的概念和内涵
  • 网站seo如何优化网页qq登录保护怎么关闭
  • 有没有做推文的网站win2012 iis配置网站
  • 潍坊网站制作策划网站制作模板北京
  • 昆山快速建设网站方案手机网站登陆模板
  • 创建网站服务器商城网站开发实训报告
  • 网站标题空格在哪里学广告设计培训
  • 网站 改版 方案广告推广词