处理微服务请求和响应

问题描述 投票:0回答:1

如果使用微服务架构实现以下功能,会使用哪种设计模式?

有一个 API 网关 和某种用户管理 服务。 API 网关将 REST API (HTTP) 调用转换为对适当消息总线的调用。

用户发送 GET 请求,并提供用户 ID 并希望检索与该用户关联的信息(例如,用户名、电子邮件等)。我可以看到这如何自然地转化为 API 网关将消息发布到 MQ,例如

{"type": "GET_USER_INFO", "uid":xxxx}

用户管理如何将响应发送回 API 网关,以便 API 网关将请求发送回用户?

我正在使用 Python/Flask/Gunicorn/Pika (RabbitMQ) 来实现这一点,因此任何进一步的实现技巧等都会非常有帮助。

rest rabbitmq microservices
1个回答
0
投票

考虑到 REST 网关需要处理安全性,直接从数据存储(DB、Keycloak、OKTA 等)访问用户详细信息是有意义的。不要构建另一个服务来访问该信息。

如果需要/希望与存储该数据的实现解耦,那么映射到后端调用的轻量级库可以完成这项工作。

© www.soinside.com 2019 - 2024. All rights reserved.