AMPS(高级消息处理系统)和JMS之间的区别

gho*_*der 0 java jms amqp

两者之间有什么区别,因为两者都是基于通过主题/主题在它们之间交换消息的发布者和订阅者的相同方法?

Rya*_*n S 5

我最近遇到了这个帖子,作为60East Technologies的一名员工,我认为它应该得到更完整的答复。

如果您问“这些功能在架构中起什么作用”,那么您是对的:这两种都属于面向消息的中间件的大类。它们都是在消息作为数据交换单位的概念的基础上在进程之间协调和交换数据的两种方式。

JMS是Java的标准API,并且是处理消息传递的更流行的方式之一。来自多个供应商的多种实现。由于这是一个标准,因此它们在界面上都相似并且具有不同的实现。支持JMS的产品还可以支持诸如AMQP之类的有线标准,以为非Java编写的组件提供一定程度的互操作性。

AMPS(高级消息处理系统)鲜为人知。它是60East Technologies,Inc.开发的消息产品。由于它是产品而不是标准,因此有一个实现。这是一个基于代理的系统,因此在AMPS中,所有消息流量都通过代理传递。AMPS支持多种编程语言(目前,有Java,C#/。Net,Python,JavaScript和C ++可用的客户端)。AMPS支持多种消息有效负载格式(FIX,JSON,XML,协议缓冲区,MessagePack等)。AMPS还支持几种不同的消息传递样式:消息队列(如JMS一样),扇出发布和订阅,“查询和订阅”,其中应用程序获取一组记录的当前值,然后在记录时接收推送更新变化和历史重播(“

AMPS最初是为大量和低延迟的应用程序设计的(金融行业中的交叉引擎/交叉网络之类的东西)。AMPS强调性能,并采用“整个系统”的性能观点。就是说,从生产者开始发送消息到消费者可以对消息采取行动的角度来考虑性能,而不仅仅是考虑经纪人的时间。

综上所述:AMPS是产品而不是标准,支持多种编程语言,提供了多种功能,并且超出了消息队列,并且具有很高的性能。

瑞安

60East Technologies