Microservices 学习nestJS时了解微服务

Microservices 学习nestJS时了解微服务,microservices,nestjs,Microservices,Nestjs,我开始学习rabbitmq,我怎么能不理解微服务是如何通过网关进行通信的呢。在学习nestJS、微服务体系结构、网关以及它们的通信方式时,您能理解吗 您的问题并不完全清楚,因为您讨论的是RabbitMQ和API网关,它们不一定是重叠的概念。在您提供的附加屏幕截图中,API网关通过REST(HTTP协议)与所有下游服务通信。因此,从下游客户端与系统交互的角度来看,API网关充当单个域/端点,但在内部,网关维护路由规则,用于如何将正确的请求发送到正确的下游服务。微服务可以同步通信(例如通过RESTf

我开始学习rabbitmq,我怎么能不理解微服务是如何通过网关进行通信的呢。在学习nestJS、微服务体系结构、网关以及它们的通信方式时,您能理解吗


您的问题并不完全清楚,因为您讨论的是RabbitMQ和API网关,它们不一定是重叠的概念。在您提供的附加屏幕截图中,API网关通过REST(HTTP协议)与所有下游服务通信。因此,从下游客户端与系统交互的角度来看,API网关充当单个域/端点,但在内部,网关维护路由规则,用于如何将正确的请求发送到正确的下游服务。微服务可以同步通信(例如通过RESTful HTTP API)或异步通信(例如使用RabbitMQ和AMQP协议)

API网关:API网关是多个或所有微服务的门面(或单点访问)。它通常还包含服务发现(定位服务实例)和跨实例负载平衡等功能。它通常用于微服务之间的同步通信或作为客户端的接口

消息代理:消息代理(如RabbitMQ)允许您使用发布-订阅,通常在微服务之间使用。这还包括服务发现(通过每个实例在代理上注册以使用消息)和负载平衡(例如通过使用用户组)。它用于微服务之间的异步通信,通常不用于客户端


根据您的系统具有同步或异步通信(或两者),您将具有API网关、消息代理或两者。但它们通常不是交织在一起的。可能使用网关路由到message broker,但仅此而已。

您是否有需要解释的“通信”类型的示例?@Alex Wayne我不知道如何使用api网关?了解要请求的服务以及服务如何通过它进行通信?附上问题中的图片对不起,我选错了图片,让我们假设将有amqp协议。我知道gateway是一个单一的入口点,所有的请求都将被发送,我的研究从一篇关于MicroService的文章开始,它展示了micromq和rabbitmq包的一个简单示例,但我仍然不理解gateway将如何与MicroService通信。在我看到nestJS中有微服务之后,我想,也许学习这个框架会帮助我在俄语部分了解它,我没有发现关于微服务的好课程(或者我看起来很糟糕),但在英语中,仅仅从视频中理解leash是很困难的。好的,如果我不使用gateway,我应该开始学习nestJS来更深入地理解微服务的概念吗?我认为nestJS技术独立于微服务的概念。如果你想了解微服务,你应该特别关注它。有一些书,例如山姆·纽曼或埃伯哈德·沃尔夫的书,可以为你提供一个很好的起点。好的,谢谢你的书