azureservicebus – 在Azure服务总线中使用不同的消息类型有什么好的做法

我是使用基于消息的体系结构的新手,例如Azure Service Bus主题/订阅功能.

我想知道如何最好地使用不同的消息类型.

例如.说我有两条消息.一个用于创建新客户,另一个用于删除客户.

我可以;

>创建两个主题.每个主题都有一个订阅.处理消息的代码将独立处理其消息类型.
>为客户创建一个主题.创建一个订阅以接收所有消息.处理消息的代码需要在处理之前确定消息类型.
>为客户创建一个主题.创建两个订阅,过滤消息类型.处理消息的代码将独立处理其消息类型.

我确信没有对错,但我会感谢有这方面经验的人的一些意见.

非常感谢,

大卫

选择主题/辅助的几个注意事项:

>您是否有对不同消息类型或单个消息类型感兴趣的单个节点(进程/应用程序等).如果您需要单个应用程序来处理多种消息类型(添加和删除),那么最好是拥有一个主题.然后,您的应用可以收听单个订阅并处理这两个消息,您还可以将该应用的更多实例添加到该单个订阅中.稍后,如果您决定将该处理分开,您仍然可以创建两个不同的订阅并过滤消息,以便添加/删除发送给其中一个或另一个的消息.
>如果您的系统专注于个人客户,比如说您正在为每个客户编写多个服务,那么每个客户只有一个主题是好的,因为您可以与客户进行线性扩展,并且在不同客户之间具有明确的授权/处理边界.但是,如果您通过单个多租户服务处理所有客户请求,并且不希望每个客户拥有不同的服务实例,那么这不是最佳方法.

开始使用单个主题可以为您提供很大的灵活性,以后您可以使用ForwardTo将消息从单个订阅引导到另一个主题/队列等,随着系统的发展.这允许您从简单的拓扑开始创建丰富的消息传递拓扑.

相关文章
相关标签/搜索