Aggregator Microservices

意图

用户对聚合器服务进行一次调用,然后聚合器将调用每个相关的微服务。

解释

真实世界例子

我们的网络市场需要有关产品及其当前库存的信息。 它调用聚合服务,聚合服务依次调用产品信息微服务和产品库存微服务,返回组合信息。

通俗地说

聚合器微服务从各种微服务中收集数据,并返回一个聚合数据以进行处理。

Stack Overflow上说

聚合器微服务调用多个服务以实现应用程序所需的功能。


iluwatarArchitecturalCloud distributedDecouplingMicroservices大约 2 分钟
API Gateway

目的

API网关将所有对微服务的调用聚合到一起。用户对API网关进行一次调用,然后API网关调用每个相关的微服务。

解释

使用微服务模式,客户端可能需要来自多个不同微服务的数据。 如果客户端直接调用每个微服务,则可能会导致更长的加载时间,因为客户端将不得不为每个调用的微服务发出网络请求。此外,让客户端调用每个微服务会直接将客户端与该微服务相关联-如果微服务的内部实现发生了变化(例如,如果将来某个时候合并了两个微服务),或者微服务的位置(主机和端口) 更改,则必须更新使用这些微服务的每个客户端。

API网关模式的目的是缓解其中的一些问题。 在API网关模式中,在客户端和微服务之间放置了一个附加实体(API网关)。API网关的工作是将对微服务的调用进行聚合。 客户端不是一次单独调用每个微服务,而是一次调用API网关。 然后,API网关调用客户端所需的每个微服务。


iluwatarArchitecturalCloud distributedDecouplingMicroservices大约 3 分钟
Version Number

名字 / 分类

版本号

或称

实体版本控制,乐观锁。

目的

解决多个客户端尝试同时更新同一实体时的并发冲突。

解释

现实世界的例子

爱丽丝(Alice)和鲍勃(Bob)正在管理书,该书存储在数据库中。 我们的英雄们正在同时进行更改,我们需要某种机制来防止他们相互覆盖。

通俗地说

版本号模式可防止对同一实体进行并发更新。


iluwatarConcurrencyData accessMicroservices大约 3 分钟