微服务交互与监控全解析
1. 服务间交互
在微服务架构中,服务间的交互至关重要。可以通过同步和异步两种方式实现服务间的交互。
1.1 同步交互
同步交互可使用 Requests 会话,不过文中未详细展开,后续有机会可深入探讨。
1.2 异步交互
- Celery 任务触发 :以 echo 任务为例,它运行在独立的微服务中,可通过
send_task()调用触发,只需知道任务名称,无需导入代码,所有交互通过 Redis 完成。示例代码如下:
import celery
redis = 'redis://localhost:6379'
app = Celery(__name__, backend=redis, broker=redis)
f = app.send_task('echo', ['meh'])
f.get()
- 测试注意事项 :若测试中模拟 Celery 工作进程,要确保实现任务的远程应用为每个任务命名,且被测试应用在代码中使用
send_task()。这样,Celery 测试夹具就能神奇地模拟工作进程。同时,应用通常不会同步等待 Celery 工作进程返回结果,因此需在 API 调用后检查测试工作进程的操作。
1.3 模拟其他异步调用
- Pika
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



