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

20 konsep yang mesti diketahui untuk Java ActiveMQ

WBOY
Lepaskan: 2024-02-21 08:40:07
ke hadapan
1090 orang telah melayarinya

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();
Salin selepas log masuk

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");
Salin selepas log masuk

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");
Salin selepas log masuk

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

transaksi

.

Session session = broker.createSession();
Salin selepas log masuk

5

Aplikasi yang menghantar mesej ke baris gilir mesej atau topik.

MessageProducer producer = session.createProducer(queue);
Salin selepas log masuk

6. Pengguna

Aplikasi yang menerima mesej daripada baris gilir mesej atau topik.

MessageConsumer consumer = session.createConsumer(queue);
Salin selepas log masuk

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();
Salin selepas log masuk

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);
Salin selepas log masuk

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" />
Salin selepas log masuk

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();
Salin selepas log masuk

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>
Salin selepas log masuk

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);
Salin selepas log masuk

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>
Salin selepas log masuk

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" />
Salin selepas log masuk

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());
Salin selepas log masuk

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>
Salin selepas log masuk

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();
Salin selepas log masuk

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>
Salin selepas log masuk
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!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan