我正在尝试使用微服务开发一个项目。
我对此主题有一些疑问(不清楚):>
1)
如何实现微服务通信?A] HTTP:每个微服务都公开HTTP API,即API GATEWAY广播请求。
B] MQTT:每个微服务发布/订阅到代理
C]两者:但是,如何理解何时一个比另一个更好?
即使对于通常通过HTTP执行的经典操作,我是否也将pub / sub协议用作标准?例如,我有两个微服务:网络管理
和产品服务。 web-management是一个面板,管理员可以使用该面板在其电子商务数字商店中添加,修改,...产品。假设我们要实现createProduct操作。这是command(根据事件/命令的区别),是一对一的通信。我可以在product-service中打开添加新产品的API,例如(POST,“ / product”)。我还可以在productCreationRequest
事件中实现对命令的转换。在这种情况下:web-managemnet发布此事件。 product-service会在收到通知后执行操作并发出productCreated事件,并监听productCreationRequest事件(以及productUpdateRequest,productGetEvents等)。我发现这种情况很危险。例如,last-occasion-service
可能会收听productCreated并立即向客户发送消息(电子邮件或推送通知)。您如何看待这个用例?2)哪个可能是有效的代理(我将使用docker-compose或kubernetes编排容器化微服务:所采用的语言可能是java,javascript,python)?
我正在尝试使用微服务开发一个项目。我对此主题有一些疑问(有些不清楚):1)如何实现微服务通信? A)HTTP:每个微服务...
考虑将SMF框架用于Javascript / Node.js,它通过微服务之间的消息代理(RabbitMQ)帮助原型发布/订阅通信:
两者都绝对有可能!选择一个代理,使您可以轻松地在HTTP(同步)通信与更多异步事件驱动的发布/订阅之间进行混合和匹配。它应该允许您根据需要在两个选项之间迁移微服务。