Разница между AMPS (усовершенствованной системой обработки сообщений) и JMS - PullRequest
0 голосов
/ 25 декабря 2018

В чем разница между двумя, потому что оба они основаны на одной и той же методологии издателей и подписчиков, которые обмениваются сообщениями между ними через темы / темы?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Я недавно сталкивался с этим постом и, будучи сотрудником 60East Technologies, почувствовал, что он заслуживает более полного ответа.

Если вы спрашиваете, с точки зрения «какой роли в архитектуре они служат", тогда вы правы: оба они относятся к широкой категории промежуточного программного обеспечения, ориентированного на сообщения.Это оба способа координации и обмена данными между процессами, основанные на концепции сообщений как единиц обмена данными.

JMS - это стандартный API для Java и один из наиболее популярных способов обработки сообщений.Существует несколько реализаций от нескольких поставщиков.Поскольку это стандарт, все они похожи по интерфейсу и имеют разные реализации.Продукты, поддерживающие JMS, могут также поддерживать стандарты проводов, такие как AMQP, чтобы обеспечить уровень взаимодействия для компонентов, которые не написаны на Java.

AMPS (усовершенствованная система обработки сообщений) немного менее широко известна.Это продукт для обмена сообщениями, разработанный 60East Technologies, Inc. Поскольку это продукт, а не стандарт, существует одна реализация.Это система на основе брокера, поэтому в AMPS весь трафик сообщений проходит через брокера.AMPS поддерживает несколько языков программирования (сейчас доступны клиенты для Java, C # /. Net, Python, JavaScript и C ++).AMPS поддерживает различные форматы полезных сообщений (FIX, JSON, XML, буферные протоколы, MessagePack и т. Д.).AMPS также поддерживает несколько различных стилей доставки сообщений: очереди сообщений (как это делает JMS), публикация и подписка с разветвлением, «запрос и подписка», когда приложение получает текущие значения для набора записей, а затем получает push-обновления, когда записиизменение и историческое воспроизведение («подписка на закладки»), которое точно воспроизводит поток сообщений любое количество раз.AMPS также предоставляет такие вещи, как встроенное преобразование / обогащение сообщений, возможность агрегировать сообщения и представления проектов (аналогично тому, как СУБД может проецировать представление базовой таблицы).

Изначально AMPS был разработан для очень высокой производительности.объемные приложения и приложения с низкой задержкой (такие как пересекающиеся механизмы / пересекающиеся сети в финансовом секторе)AMPS делает упор на производительность и дает представление о производительности по всей системе.То есть производительность рассматривается с того момента, когда производитель начинает отправлять сообщение в точку, в которой потребитель может воздействовать на сообщение, а не только в отношении времени в брокере.

Чтобы суммировать егоВверх: AMPS является продуктом, а не стандартом, поддерживает несколько языков программирования, предоставляет широкий спектр возможностей и выходит за пределы очередей сообщений, и разработан для очень высокой производительности

Ryan

60East Technologies

0 голосов
/ 25 декабря 2018

JMS - это основанный на Java API для асинхронного обмена сообщениями, поддерживающий семантику точка-точка и pub-sub .Это может быть реализовано кем угодно. Apache ActiveMQ является, вероятно, самой популярной и известной реализацией JMS, хотя существует множество реализаций.

AMPS является проприетарной системой обмена сообщениямиразработанный 60East Technologies, который поддерживает только семантику pub-sub.

...