优步:面向“域”的微服务架构 满足2200个关键微服务的扩展

产品时间:2022-09-01 03:47

简要描述:

除了逻辑和数据扩展Uber的许多团队都引入了适合自己领域的扩展模式。例如与presentation架构绑定的许多集成使用基于DAG的任务执行逻辑。 在初创企业中运营收益可能无法抵消架构庞大性的增加。 此外微服务架构通常需要专用的工程资源来支持这对于早期公司来说可能超出预算或者从优先级的角度来看不是最佳选择。 在Uber内部建设了以下五个条理。 什么是微服务? 如一个司机上线(go online)。通常我们会举行种种检查来确保司机可以运营(宁静检查、合规等)。...

推荐产品
详细介绍
本文摘要:除了逻辑和数据扩展Uber的许多团队都引入了适合自己领域的扩展模式。例如与presentation架构绑定的许多集成使用基于DAG的任务执行逻辑。 在初创企业中运营收益可能无法抵消架构庞大性的增加。 此外微服务架构通常需要专用的工程资源来支持这对于早期公司来说可能超出预算或者从优先级的角度来看不是最佳选择。 在Uber内部建设了以下五个条理。 什么是微服务? 如一个司机上线(go online)。通常我们会举行种种检查来确保司机可以运营(宁静检查、合规等)。

E星体育官方网站入口

除了逻辑和数据扩展Uber的许多团队都引入了适合自己领域的扩展模式。例如与presentation架构绑定的许多集成使用基于DAG的任务执行逻辑。

在初创企业中运营收益可能无法抵消架构庞大性的增加。

此外微服务架构通常需要专用的工程资源来支持这对于早期公司来说可能超出预算或者从优先级的角度来看不是最佳选择。

在Uber内部建设了以下五个条理。

什么是微服务?

如一个司机上线(go online)。通常我们会举行种种检查来确保司机可以运营(宁静检查、合规等)。每一个都属于一个单独的团队。实现这一点的一种方法是让每个团队在相同的端点编写逻辑但这可能会引入庞大性。

每个检查都需要定制的、完全不相关的逻辑。

效果是开发人员体验变慢服务所有者不稳定迁移越发痛苦等等。

对于已经接纳微服务架构的企业而言没有转头路。需要找到解决方案来克服这些挑战

因此“面向域的微服务架构”大量借鉴了已建设的组织代码的方式例如域驱动设计洁净架构面向服务的架构以及面向工具和面向接口的设计模式。Uber将DOMA视为创新因为它是在大型组织的大型漫衍式系统中使用既定设计原则的相对新颖的方法。

如果可以将微服务视为I/O绑定库而将“微服务架构”视为大型的漫衍式应用法式则可以使用众所周知的架构来思考如何组织代码。

缘起

如您所见后续的每一层都代表了越来越详细的功效分组而且具有越来越小的故障面(换句话说更少的组件依赖于该层内的功效)。

DOMA是Uber跨产物宁静台团队一致努力的效果。

平台支持成本通常会下降一个数量级。产物团队受益于guard rails和加速的开发。

面临微服务的不足品评微服务架构的话题喧嚣尘上但很少有用户主张完全拒绝微服务架构。因为运营收益太重要了似乎另有针对微服务的更好替代品。

Uber使用DOMA通用方法的目的是为降低总体系统庞大性同时保持与微服务架构相关联的灵活性的企业提供微服务向前生长的门路。

可是随着Uber规模的扩大从100名工程师增加到1000名工程师Uber开始注意到与系统庞大性大大增加相关的一系列问题。使用微服务架构可以将单个整体的代码库换成“黑盒子”“黑盒子”的功效可以随时更改而且很容易导致意外的发生。

绝不夸张地说没有微服务架构Uber将无法实现今天维持的执行规模和执行质量。

换句话说随着Uber的工程师人数从10增长到100拥有多个团队拥有部门技术栈的整体式架构将团队的运气束缚在一起使其难以独立运营。

Uber接纳了微服务架构之后。

最终系统变得越发灵活从而使团队越发自治。

Uber的险些每个主要域都在某种水平上受到了DOMA的影响。在已往的一年里Uber主要关注业务层它为差别的业务线提供了通用的逻辑。

由于上游使用者只在单个服务上操作因此通过上游服务只接受单个依赖项(而不是依赖于某个域中可能存在的多个下游服务)网关在未来的迁移、可发现性和系统庞大性的整体降低方面提供了许多利益。如果从面向工具设计的角度来思量网关那么它们就是接口界说它使Uber能够凭据底层“实现”(在本例中是底层微服务的荟萃)来做任何想做的事情。

系统可靠性。

在微服务架构中总体系统可靠性获得提高。单个服务可以关闭(并回滚)而无需关闭整个系统。

最近业界围绕面向服务的架构尤其是微服务架构的毛病举行了大量讨论。

几年前由于许多用户关注微服务架构的众多优势例如独立部署形式的灵活性明确的所有权系统稳定性的革新以及关注点的更好分散许多企业很快接纳了微服务架构。而现在关于微服务会大大增加其庞大性的趋势有时甚至使琐碎的功效也难以构建的话题引发了不少用户的讨论。

在这个阶段企业可以开始思量微服务之间的条理结构。依赖治理可能变得越发重要因为某些服务对于业务运营变得越来越至关重要而且越来越多的团队依赖于它们。

逻辑扩展

E星体育官方网站入口

要调试pick-up问题工程师必须在12个差别的团队中完成约50项服务。

网关

产品咨询

留言框

  • 产品:

  • 您的单位:

  • 您的姓名:

  • 联系电话:

  • 详细地址:

  • 留言内容:

在线客服 联系方式 二维码

电话

028-811032092

扫一扫,关注我们