我听说过一般术语“上游服务”和“下游服务”,但我看到了一些关于微服务架构的文章,其中使用了这些术语。我无法理解基于微服务的架构中的上游和下游服务是什么?有人可以给我简单解释一下吗?
我已经知道上游服务是那些不依赖于任何其他服务的服务,下游服务依赖于上游服务。例如,前端将是后端的下游服务,因为它依赖于后端。
我正在.Net Core中开发微服务。
上游:从
接收请求/发送响应下游:向
发出请求/接收响应上游:向
发出请求/接收响应下游:从
接收请求/发送响应互联网上有支持这两种定义的资源。也许有一天我们会解决这个问题,但现在的答案是:要么是。
下游服务是消耗上游服务的服务。特别是,它们依赖于上游服务。更一般地,上游服务不需要知道或关心下游服务的存在。下游服务关心上游服务的存在,即使它们只是选择性地消费它们。
我看这是水流的比喻:上游是河流的源头,下游是河流的出海口。
但实际上这是胡言乱语。如今,服务通过不同的方式交换数据。一个服务可以调用另一个服务来获取数据,也可以调用另一个服务来推送数据。一个服务可以通过首先调用来从另一个服务接收数据,也可以被动接收数据,例如接收推送通知。
在工作中,你可以明智地使用它:如果比你级别更高的人调用服务上游服务,就跟着它;如果您是团队中资历最高的人,请随意命名。
它是服务流,因此提供者是上游,消费者是下游。
在微服务中,服务通过发送和接收数据进行交互。这是一个快速细分:
上游服务:发起请求的服务。示例:产品服务向库存服务请求库存数据。
下游服务:处理请求并响应的服务。在这种情况下,库存服务位于下游。
了解此流程有助于容错、可扩展性以及优化服务之间的数据流。在微服务游戏中保持领先!