示例here显示了如何使用远程过程调用(RPC)在python中创建客户端和服务器。
但我无法想象FastAPI服务如何成为使用pika for RabbitMQ来消费来自RCP客户机的请求的服务器。
任何Web服务都将通过显式调用它们来请求,但是,我无法想象如何在Web服务内部集成RabbitMQ消费者。
另一方面,对于客户端来说,通过显式调用Web服务,您可以发布对队列see this example的请求,这样做很容易
有什么帮助吗?或者是一个好的开始?
示例here显示了如何使用远程过程调用(RPC)在python中创建客户端和服务器。
但我无法想象FastAPI服务如何成为使用pika for RabbitMQ来消费来自RCP客户机的请求的服务器。
任何Web服务都将通过显式调用它们来请求,但是,我无法想象如何在Web服务内部集成RabbitMQ消费者。
另一方面,对于客户端来说,通过显式调用Web服务,您可以发布对队列see this example的请求,这样做很容易
有什么帮助吗?或者是一个好的开始?
1条答案
按热度按时间k5hmc34c1#
您可以将
aio_pika
与RPC模式一起使用,并执行以下操作:服务1(使用)
循环使用:
创建要从另一个服务调用的连接、通道和注册远程方法:
这就是您需要使用和响应的全部内容,现在让我们看看调用此远程方法的第二个服务。
服务2(调用远程方法)
让我们首先创建RPC中间件,以便轻松地管理和访问RPC对象,从而从API函数调用远程方法:
应用RPC中间件:
通过API函数中的依赖关系使用RPC对象:
添加一些日志记录来跟踪两个服务中发生的情况。您还可以将两个服务中的RPC逻辑合并为一个,以便能够在同一个服务中使用和调用远程方法。
希望能对你的基本想法有所帮助。