我是使用基于消息的体系结构的新手,例如Azure Service Bus主题/订阅功能.
我想知道如何最好地使用不同的消息类型.
例如,我说有两条消息.一个用于创建新客户,另一个用于删除客户.
我可以;
创建两个主题.每个主题都有一个订阅.处理消息的代码将独立处理其消息类型.
为客户创建一个主题.创建一个订阅以接收所有消息.处理消息的代码需要在处理之前确定消息类型.
为客户创建一个主题.创建两个订阅,过滤消息类型.处理消息的代码将独立处理其消息类型.
我确信没有对错,但我会很感激在这方面有经验的人的一些意见.
非常感谢,
大卫
选择主题/辅助的几个注意事项:
您是否有对不同消息类型或单个消息类型感兴趣的单个节点(进程/应用程序等).如果您需要单个应用程序来处理多种消息类型(添加和删除),那么最好是拥有一个主题.然后,您的应用可以收听单个订阅并处理这两个消息,您还可以将该应用的更多实例添加到该单个订阅中.稍后,如果您决定将该处理分开,您仍然可以创建两个不同的订阅并过滤消息,以便添加/删除发送给其中一个或另一个的消息.
如果您的系统专注于个人客户,比如说您正在为每个客户编写多个服务,那么每个客户只有一个主题是好的,因为您可以与客户进行线性扩展,并在不同客户之间拥有明确的授权/处理边界.但是,如果您通过单个多租户服务处理所有客户请求,并且不希望每个客户拥有不同的服务实例,那么这不是最佳方法.
开始使用单个主题可以提供很大的灵活性,以后您可以使用ForwardTo在系统发展过程中将消息从单个订阅信息传递到另一个主题/队列等.这允许您从简单的拓扑开始创建丰富的消息传递拓扑.
归档时间: |
|
查看次数: |
1064 次 |
最近记录: |