微服务 - 结合API网关和消息代理

时间:2018-01-16 15:24:31

标签: .net microservices messagebroker api-gateway

我正在将一个巨大的单片企业应用程序分解为几个微服务,并确定了将围绕其建模服务的业务功能。应用程序具有彼此交互的不同模块(HRMS,事务管理等)。我不需要迎合不同的设备。

有一些请求 - (立即)响应用例,微服务之间通过API网关进行通信似乎很合适。但是,对于许多功能,不(立即)需要响应,并且向消息代理(RabbitMQ)发布事件(例如,' EmployeeCreated')似乎更合适。

我的目标是尽可能地使用异步pub-sub,并保持API网关简单和愚蠢,以避免出现另一个单一的单点故障。

我有以下问题:

i)通过RESTful API网关实现微服务间通信,以及通过异步pub-sub实现其他功能,这是一种很好的方法吗?是否有任何需要注意的挑战?

ii)让中央路由网关订阅消息代理事件并调用相应的RESTful API是一个不错的选择吗?我担心这两个巨头(中央msg经纪人和API网关)可能会首先击败MSA的目的。

iii)如果我要使用(i),this回答建议使用RabbitMQ更好地使用Windows服务,并且Windows服务中的自托管Web API可能是一个不错的选择。这样,Windows服务可以使用某些事件并公开一些API以进行同步调用。这是推荐的吗?假设.Net范例,异步微服务是否必须是Windows服务?

抱歉范围广泛。任何帮助表示赞赏。

0 个答案:

没有答案
相关问题