2009-06-15 51 views
4

HTTP服务的客户端可以通过请求或发布特定内容类型的数据来指定他们理解的版本(和格式)。 HTTP协议定义用于报告内容类型不被理解的错误代码。消息系统(例如JMS,MQ系列等)不具有描述消息协议版本和内容格式的标准方式。权衡实现可靠的异步消息访问服务的版本控制?

您是如何实现通过可靠的异步消息访问的服务的版本控制的?

一些可能性:

  • 发件人表示版本作为消息属性
  • 队列或主题名称包括在该目的地接受
  • 版本的消息的协议版本是在有效载荷消息

我敢肯定还有其他方法。你是怎么做到的?你有什么优点和缺点?

回答

1

指定有效载荷以外的版本的一个优点是可以更容易地找出哪一位代码可以处理有效载荷。它还允许您从根本上改变新版本的有效载荷内容。它还可以使邮件路由更容易。

总的来说,我认为这里没有正确或错误的答案,您指定的所有选项都可以使用,并且您最喜欢的消息总线可能有一个您应该遵循的“最佳实践”。

+0

我同意没有正确或错误的答案。也没有这种“最佳实践”。这就是为什么我要求具体的经验。 那么,你使用什么机制?在什么情况下?什么运作良好?你遇到什么问题? – Nat 2009-06-18 21:31:18