布条百科 - 专业百科知识分享的网站 手机版
首页 > 生活 >

微服务是什么

196次浏览     发布时间:2023-04-10 18:20:08    


微服务体系结构将软件构建为协作服务的套件。

微服务体系结构是在体系结构级别应用单一责任原则的自然结果。与传统的单片体系结构相比,这带来了许多好处,例如不同组件的独立可部署性、语言、平台和技术独立性、不同的可伸缩性轴以及增加的体系结构灵活性。
就规模而言,没有硬性规定。通常,微服务的数量级为数百行,但根据它们所封装的职责,也可以达到数十行或数千行。一个好的,尽管不具体的经验法则是尽可能小,但尽可能大,以表示他们拥有的领域概念。“微服务应该有多大?”有更多细节。
微服务通常使用HTTP上的REST进行集成。通过这种方式,业务域概念被建模为由每个服务管理的一个或多个资源。在最成熟的RESTful系统中,资源是使用超媒体控件链接的,这样每个资源的位置对服务的使用者是不透明的。参见Richardson成熟度模型了解更多细节。
有时会使用其他集成机制,如轻量级消息传递协议、发布-订阅模型或替代传输,如Protobuf或Thrift。
每个微服务可能提供,也可能不提供某种形式的用户界面。

微服务通常可以分成类似的模块

通常,微服务显示由部分或所有显示层组成的类似内部结构。
所采用的任何测试策略都应该旨在为服务的每一层以及层与层之间提供覆盖,同时保持轻量级。
资源充当服务公开的应用程序协议和消息到表示域的对象之间的映射器。通常,它们是瘦的,负责检查请求的完整性,并根据业务事务的结果提供特定于协议的响应。
几乎所有的服务逻辑都驻留在表示业务域的域模型中。在这些对象中,服务跨多个域活动进行协调,而存储库作用于域实体的集合,并且通常支持持久性。
如果一个服务有另一个服务作为协作者,则需要一些逻辑来与外部服务通信。网关用远程服务封装消息传递,对来自域对象的请求和响应进行编组。它很可能使用理解底层协议的客户机来处理请求-响应周期。
除非在最琐碎的情况下,或者当服务充当跨其他服务拥有的资源的聚合器时,微服务将需要能够在请求之间持久保存来自域的对象。这通常是通过使用对象关系映射或更轻量级的数据映射器来实现的,具体取决于持久性需求的复杂性。

微服务通过网络相互连接,并利用“外部”数据存储

微服务通过在每个相关模块之间传递消息以形成响应来处理请求。一个特定的请求可能需要与服务、网关或存储库交互,因此模块之间的连接是松散定义的。
自动化测试应该以尽可能精细的粒度为每一个通信提供覆盖。因此,每个测试都提供了一个集中且快速的反馈循环。
资源接收到请求,一旦验证,就调用域开始处理请求。
如果必须协调许多模块来完成业务事务,则资源将委托给服务。否则,它直接与相关模块通信。
到外部服务的连接需要特别注意,因为它们跨越了网络边界。系统应该对远程组件的中断具有弹性。网关包含处理此类错误情况的逻辑。
通常,与外部服务的通信比进程通信中的等效通信更粗粒度,以防止API的闲聊和延迟。
类似地,与外部数据存储的通信具有不同的设计考虑因素。虽然服务与数据存储的逻辑耦合比与外部服务的逻辑耦合更紧密,但数据存储仍然存在于网络边界之上,这会导致延迟和中断的风险。
网络分区的存在会影响所采用的测试风格。这些模块的测试可能需要较长的执行时间,并且可能会因为团队控制之外的原因而失败。

多个服务作为一个系统一起工作,以提供有业务价值的功能

通常,一个团队将充当一个或多个微服务的监护人。这些服务交换消息以处理更大的业务请求。就交换格式而言,JSON目前是最流行的,尽管有许多替代方案,其中XML是最常见的。

在某些情况下,异步发布-订阅通信机制比同步点对点机制更适合用例。作为实现微服务之间发布-订阅的轻量级方法,Atom联合格式正变得越来越流行。

由于业务请求跨越由网络分区分隔的多个组件,因此必须考虑系统中可能的故障模式。诸如超时、断路器和隔墙等技术可以帮助保持整个系统的正常运行时间,尽管组件中断。

在较大的系统中,通常有多个团队,每个团队负责不同的边界上下文。

外部服务的测试关注点可能与您团队控制下的服务的测试关注点不同,因为对于外部团队服务的接口和可用性的保证更少。

相关文章

油漆为什么要稀释剂(带你了解油漆中必不可少的两类添加剂)

油漆,油漆稀释剂,这是一对双胞胎,它们相应搭配使用,但很少有人知道油漆稀释剂是什么。油漆稀释剂,是为了降低油漆粘度,从而油漆性能而加入的与树脂混溶性良好的液体物。其成分主要分为如下几种:种类一:硝基酸稀释剂种类二:过氯乙烯漆稀释剂种类三:氨基漆稀释剂种类四:丙烯酸漆稀释剂种类五:醇酸漆稀释剂种类六:

2025-04-04 10:16:02

为什么门套比门贵(门套竟比木门还贵?)

逛家居市场的时候,一圈下来你会发现看着差不多的木门价格上的差别真是不小,相差个四五倍都算是司空见惯,但其中关于门套的猫腻却是不少。门套就是通常我们俗称的门框,是指设在门四周的装饰造型,它承受着整个木门的重量,并可以和整体装修风格相呼应。据了解,市场上双面实木门套价格在180元/米左右,单面的价格在1

2025-04-04 09:40:07

手串为什么要戴手套盘(木手串需要戴手套盘才能包浆吗?)

以下为你介绍木手串是否需要戴手套盘玩及不戴是否会变黑的相关真相: 是否需要戴手套盘玩 - 需要戴手套的情况:许多木质手串初始盘玩时最好戴手套。像小叶紫檀,其富含紫檀素,直接用手盘,汗水和油脂易与其发生反应,导致颜色发乌、变黑,戴手套能起到缓冲隔离作用,让其均匀氧化,形成细腻包浆。此外,金丝楠木等质地

2025-04-04 09:31:57

下水道为什么会臭怎么解决(卫生间下水道臭怎么办,尝试这些方法轻松解决)

卫生间是我们日常生活中重要而必不可少的部分,但当卫生间的下水道开始散发难闻的异味时,毫无疑问会让人感到不舒服。幸运的是,我将在本文中为您介绍一些简单实用的方法,帮助您轻松解决卫生间下水道异味问题。不再被恶臭困扰,让我们一起来探索吧!1. 清洁下水道:要解决下水道异味问题,首先需要彻底清洁下水道。您可

2025-04-04 08:57:49

油烟机为什么不工作(家用的吸油烟机为什么抽不走烟)

抽油烟机不吸烟的原因有很多种,只有检查出原因,修理才会容易,首先来看看有哪些原因会造成抽油烟机不吸烟。  抽油烟机不吸烟原因:  1、排风管中间的隔板没直放、没打开(老式的抽油烟机的排风管中有这么一个门),或人为地把排风管道阻死了。  2、风轮反转或者损坏。  3、排烟管堵住了。  4、电机损坏,功

2025-04-04 08:40:34

贴瓷砖为什么要益胶泥(瓷砖的铺贴方法哪种更好)

对于瓷砖的铺贴方法,很多人都不知道有什么区别。哪种铺贴方法更好了,通过对比小编带大家去寻找答案。瓷砖的铺贴方法有多种,每种方法都有其优点和适用场合。下面介绍三种常用的铺贴方法:1.传统水泥砂浆粘贴法传统水泥砂浆粘贴法是一种比较古老的方法,也是比较经济的方法。它是将水泥和砂子按照一定比例混合后,加入适

2025-04-04 08:06:52