Apache ActiveMQ — 2004-yilda taqdim etilgan, Java tilida yozilgan ochiq manbali xabar brokeri. U Java Message Service (JMS) spetsifikatsiyasining eng keng tarqalgan implementatsiyalaridan biri sifatida tanilgan.
Apache loyihasi sifatida yaratilishi
ActiveMQ boshidanoq Apache Software Foundation qanoti ostida rivojlangan, bu esa unga ochiq manbali Java ekotizimidagi boshqa mashhur loyihalar (masalan, Apache Camel, Apache Kafka) bilan yaqin aloqa va keng hamjamiyat qo’llab-quvvatlashini ta’minlagan.
JMS standartini implementatsiya qilishi
JMS — Java platformasi uchun xabar almashish API‘sining rasmiy standarti bo’lib, u dasturchiga xabar brokerining ichki tafsilotlaridan mustaqil, izchil dasturlash interfeysi bilan ishlash imkonini beradi. ActiveMQ ushbu standartni to’liq amalga oshirib, Java korporativ dunyosida keng qabul topgan.
Java ekotizimidagi o’rni
ActiveMQ ayniqsa Spring freymvorki bilan chuqur integratsiyalashgan bo’lib, Spring JMS moduli orqali xabar yuborish va qabul qilish deyarli konfiguratsiyasiz amalga oshiriladi. Bu integratsiya ActiveMQ’ni Java asosidagi korporativ ilovalar uchun tabiiy tanlovga aylantirgan.
ActiveMQ Artemis
Yillar davomida asl ActiveMQ arxitekturasining ba’zi cheklovlari sezilgach, Apache jamoasi “Artemis” nomli yangi, tubdan qayta loyihalashtirilgan versiyani ishlab chiqdi, u yuqoriroq o’tkazuvchanlik va zamonaviy protokollarni (shu jumladan AMQP va MQTT) qo’llab-quvvatlaydi. Artemis asta-sekin asl ActiveMQ’ning o’rnini bosmoqda.
Kafka/RabbitMQ bilan qiyoslash
ActiveMQ RabbitMQ‘ga o’xshash an’anaviy xabar navbati modelini qo’llaydi, ammo Java ekotizimiga chuqurroq bog’langan. Kafka esa katta hajmdagi voqealar oqimiga ixtisoslashgan bo’lib, ActiveMQ odatda kichikroq, aniq vazifalarga yo’naltirilgan xabar almashinuvida qo’llaniladi.
Bog’liq tushunchalar
Java, JMS, Apache, Message broker, RabbitMQ, Kafka, Spring