我一直在寻找沟通两个或多个微服务在django和需要使他们相互沟通。我已经研究了它,并没有得到适当的信息。我的理解是每个微服务应用程序完全不依赖于另一个包括数据库。现在如何沟通每个微服务与另一个。有2个方法同步和异步方法。我不想用同步的。如何用异步的方式来交流API的端点?我发现了一些消息代理,像rabbitMQ,Kafka,gRPc......哪一个是最好的代理。如何使用这些服务来交流?我没有得到任何正确的指导。我愿意学习,谁能举一些例子来解释一下吗?这将是我工作中巨大的推动。
cgh8pdjw1#
在Django Rest Framework(DRF)应用程序中,微服务之间有几种不同的通信方式。使用HTTP请求:一种选择是使用HTTP请求在微服务之间发送数据,这可以通过使用Python中的requests库或在前端使用JavaScript的fetch API来实现。使用消息队列:另一种选择是使用消息队列(如RabbitMQ或Kafka)在微服务之间发送消息,这在需要解耦服务并处理异步通信时非常有用。使用数据库:您也可以使用数据库,如PostgreSQL或MongoDB,来存储微服务之间共享的数据,这可以使用Django的ORM或您喜欢的语言的数据库驱动程序来完成。选择哪种方法取决于您的特定需求和微服务之间通信的性质。
egdjgwm82#
以下是可用于与微服务通信的不同方法的列表:https://gotopaisa.com/how-to-communicate-two-or-more-microservices-in-django-python/
2条答案
按热度按时间cgh8pdjw1#
在Django Rest Framework(DRF)应用程序中,微服务之间有几种不同的通信方式。
使用HTTP请求:一种选择是使用HTTP请求在微服务之间发送数据,这可以通过使用Python中的requests库或在前端使用JavaScript的fetch API来实现。
使用消息队列:另一种选择是使用消息队列(如RabbitMQ或Kafka)在微服务之间发送消息,这在需要解耦服务并处理异步通信时非常有用。
使用数据库:您也可以使用数据库,如PostgreSQL或MongoDB,来存储微服务之间共享的数据,这可以使用Django的ORM或您喜欢的语言的数据库驱动程序来完成。
选择哪种方法取决于您的特定需求和微服务之间通信的性质。
egdjgwm82#
以下是可用于与微服务通信的不同方法的列表:https://gotopaisa.com/how-to-communicate-two-or-more-microservices-in-django-python/