连接两个API与RabbitMQ和Docker的最佳方式是什么



我需要用.Net Core 3.1创建两个API。让我们称之为";API 1〃;以及";API 2〃;。

API 1将接收到包含某些信息的HTTP Post,并将其与RabbitMQ一起发送到API 2。API 2将处理此信息,并使用RabbitMQ将结果再次发送到API 1。

必要条件是使用Docker。。那么,实现这种基础设施的最佳方式是什么呢?

  • 创建两个解决方案,每个解决方案一个项目?我如何连接它们?因为每个集装箱都有自己的码头集装箱
  • 用两个项目创建一个解决方案?我尝试了这个,但我不知道如何开始第二个项目(API 2(

可以在一个容器中运行多个应用程序,但不建议这样做。

最佳解决方案可能是(至少(三个容器:

  1. 服务(API(1
  2. 服务(API(2
  3. RabbitMQ(除非您已经有一个正在运行的实例(

使用多个容器有很多好处,包括更容易的设置、调试和扩展。例如,如果您发现第二个服务是瓶颈,您可以启动该服务的另一个实例来加快速度,而无需创建第一个服务或RabbitMQ的更多(不需要的(实例。

然后,您需要为这些容器配置一个网络,以便在它们之间进行通信。我还建议您在开发环境中查看Docker Compose,因为它可以为您设置服务之间的网络。

最新更新