Rumah >Java >javaTutorial >20 konsep yang mesti diketahui untuk Java ActiveMQ

20 konsep yang mesti diketahui untuk Java ActiveMQ

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2024-02-21 08:40:071106semak imbas

Java ActiveMQ 的 20 个必知概念

Java ActiveMQ ialah perisian tengah pemesejan sumber terbuka yang popular yang digunakan secara meluas dalam pembangunan aplikasi perusahaan. Apabila menggunakan ActiveMQ, adalah penting untuk memahami beberapa konsep utama. Dalam artikel ini, editor PHP Apple memperkenalkan 20 konsep Java ActiveMQ yang mesti diketahui untuk membantu anda memahami dan menggunakan perisian tengah mesej yang berkuasa ini dengan lebih baik. Dengan memperoleh pemahaman yang mendalam tentang konsep ini, anda akan dapat memanfaatkan ActiveMQ dengan lebih cekap untuk membina sistem pemesejan yang stabil dan boleh dipercayai.

AktifMQ Komponen teras yang bertanggungjawab untuk memproses semua aliran mesej. Ia menyediakan platform di mana aplikasi boleh menyambung, menghantar dan menerima mesej.

BrokerService broker = new BrokerService();
broker.addConnector("tcp://0.0.0.0:61616");
broker.start();

2. Barisan Mesej

Konsep logik untuk menyimpan mesej dalam ActiveMQ Bekas. Baris Gilir Mesej boleh menerima mesej daripada berbilang pengeluar dan menghantarnya kepada berbilang pengguna.

Queue queue = session.createQueue("my-queue");

3. Tema

Terbitkan/langgan model, pengeluar mesej menerbitkan mesej kepada topik, dan pengguna yang berminat boleh melanggan topik tersebut dan menerima semua mesej yang diterbitkan.

Topic topic = session.createTopic("my-topic");

4 Sesi untuk komunikasi antara aplikasi dan broker ActiveMQ. Sesi membolehkan aplikasi menghantar dan menerima mesej, serta mengurus

transaksi

.

Session session = broker.createSession();

5

Aplikasi yang menghantar mesej ke baris gilir mesej atau topik.

MessageProducer producer = session.createProducer(queue);

6. Pengguna

Aplikasi yang menerima mesej daripada baris gilir mesej atau topik.

MessageConsumer consumer = session.createConsumer(queue);

7

Satu set operasi, sama ada semua dilaksanakan atau semuanya ditarik balik. ActiveMQ menyokong transaksi untuk memastikan pemesejan yang boleh dipercayai dan konsisten.

session.begin();
producer.send(message);
session.commit();

8. Ketahanan

Kegigihan mesej menentukan sama ada mesej akan dikekalkan apabila broker dimulakan semula atau gagal. Mesej berterusan akan dikekalkan pada cakera, manakala mesej tidak berterusan akan hilang.

Message message = session.createTextMessage("Hello world");
message.setPersistent(true);
producer.send(message);

9 Membenarkan mesej daripada satu broker ActiveMQ untuk dimajukan kepada broker lain. Jambatan boleh digunakan untuk menyambungkan berbilang kejadian ActiveMQ.

<bridge destination="forward.my-topic"
source="activemq:topic:my-topic"
brokerName="broker-b" />

10. Pemindahan mesin maya

Membenarkan menyambungkan dua kejadian ActiveMQ dalam

JVM

yang sama. Ini berguna untuk

menguji

atau mencipta sistem teragih dalam persekitaran yang berdiri sendiri.

BrokerService brokerA = new BrokerService();
BrokerService brokerB = new BrokerService();
brokerA.setVmConnectorURI(brokerB.getVmConnectorURI());
brokerA.setBrokerName("broker-a");
brokerB.setBrokerName("broker-b");
brokerA.start();
brokerB.start();

11 ActiveMQ menyediakan mekanisme untuk melanjutkan fungsinya. Pemalam boleh menambah ciri baharu seperti storan mesej, keselamatan atau

pemantauan

.

<plugins>
<journalPlugin>
<journalDirectory>/tmp/journal</journalDirectory>
</journalPlugin>
</plugins>

12. Penukaran mesej

ActiveMQ membolehkan mesej ditukar antara format mesej yang berbeza. Penukar boleh digunakan untuk menukar XML kepada JSON, atau mesej teks kepada mesej binari.

MessageConverter converter = session.getMessageConverter();
Message message = converter.toMessage("Hello world", session);
producer.send(message);

13. Failover

Pastikan ketersediaan sekiranya berlaku kegagalan broker mesej dengan menggunakan broker failover atau

pengelompokan

. Apabila ejen utama gagal, ejen sandaran mengambil alih.

<broker cluster="my-cluster">
<networkConnectors>
<networkConnector name="tcp" uri="tcp://0.0.0.0:61616" />
</networkConnectors>
</broker>

14. Pengimbangan beban

Meningkatkan kebolehskalaan dan prestasi dengan mengagihkan beban mesej merentasi berbilang broker. ActiveMQ menyokong strategi round robin atau saiz mesej

pengimbangan muatan

.

<broker loadBalancingPolicy="round-robin" />

15. Pemantauan

Memantau broker ActiveMQ adalah penting untuk memastikan operasi dan prestasinya yang betul. ActiveMQ menyediakan papan pemuka JMX dan REST

api

untuk memantau status broker dan aliran mesej.

import org.apache.activemq.broker.jmx.BrokerViewMBean;

BrokerViewMBean brokerView = (BrokerViewMBean) MBeanServerFactory.createMBeanServer().getObjectInstance(new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost"));
System.out.println("Message count: " + brokerView.getQueueSize());

16. Keselamatan

ActiveMQ menyediakan pelbagai mekanisme keselamatan, termasuk SSL, SASL dan senarai kawalan akses.

<securitySettings>
<sslProtocols>TLSv1,TLSv1.1,TLSv1.2</sslProtocols>
<requireCredentialsForAllConnections>true</requireCredentialsForAllConnections>
<audit>true</audit>
</securitySettings>

17. Perjanjian

ActiveMQ menyokong pelbagai protokol pemesejan, termasuk AMQP, JMS dan STOMP.

BrokerService broker = new BrokerService();
broker.setBrokerName("my-broker");
broker.addConnector("stomp://0.0.0.0:61613");
broker.start();

18. MQTT

MQtT (Message Qeuing Telemetry Transport) ialah protokol ringan yang dibangunkan

khusus untuk peranti

Internet of Things

(IoT)

. ActiveMQ menyokong MQTT, menjadikannya ideal untuk menyambungkan peranti IoT dan sistem perusahaan.

<mqttConnectors>
<mqttConnector name="mqtt" persist="true"
 uri="mqtt://0.0.0.0:1883" />
</mqttConnectors>

19. Konsol Web

ActiveMQ menyediakan konsol WEB yang membolehkan pentadbir memantau status broker, mengurus baris gilir dan topik serta mengurus pemalam.

20. Menyelesaikan masalah

Penyelesaian masalah ActiveMQ melibatkan pemeriksaan

log

fail, GUI status dan papan pemuka JMX. Dengan menganalisis mesej ralat dan log dengan teliti, masalah boleh didiagnosis dan diselesaikan dengan cepat.

Atas ialah kandungan terperinci 20 konsep yang mesti diketahui untuk Java ActiveMQ. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam