Jaringan broker Amazon MQ - Amazon MQ

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jaringan broker Amazon MQ

Amazon MQ mendukung fitur jaringan broker ActiveMQ.

Jaringan broker terdiri dari beberapa broker instans tunggal aktif atau broker aktif/siaga. Anda dapat mengonfigurasi jaringan broker dalam berbagai topologi (misalnya, konsentrator, pohon hub-and-spokes, atau mesh), tergantung pada kebutuhan aplikasi Anda, seperti ketersediaan dan skalabilitas yang tinggi. Sebagai contoh, jaringan hub-and-spoke broker dapat meningkatkan ketahanan, menjaga pesan jika salah satu broker tidak dapat dijangkau. Jaringan broker dengan topologi konsentrator dapat mengumpulkan pesan dari sejumlah besar broker, menerima pesan masuk, dan mengonsentrasikannya ke broker yang lebih terpusat, untuk menangani beban dari banyaknya pesan masuk dengan lebih baik.

Untuk tutorial dan detail informasi konfigurasi, lihat hal berikut:

Berikut adalah manfaat penggunaan jaringan broker:

  • Membuat jaringan broker memungkinkan Anda meningkatkan throughput agregat serta jumlah maksimum koneksi produsen dan konsumen dengan menambahkan instans broker.

  • Anda dapat memastikan ketersediaan yang lebih baik dengan mengizinkan produsen dan konsumen untuk mengetahui beberapa instans broker aktif. Ini memungkinkan mereka terhubung kembali ke instans baru jika salah satu instans yang saat ini terhubung menjadi tidak tersedia.

  • Karena produsen dan konsumen dapat segera terhubung kembali ke simpul lain dalam jaringan broker, dan karena tidak perlu menunggu instans broker siaga untuk dipromosikan, koneksi ulang klien dalam jaringan broker lebih cepat dibandingkan untuk broker aktif/siaga untuk ketersediaan tinggi.

Bagaimana cara kerja jaringan broker?

Amazon MQ mendukung fitur jaringan broker ActiveMQ dalam berbagai cara. Pertama, Anda dapat mengedit parameter dalam setiap konfigurasi broker untuk membuat jaringan broker, seperti yang Anda lakukan dengan ActiveMQ native. Kedua, Amazon MQ memiliki contoh cetak biru yang digunakan AWS CloudFormation untuk mengotomatiskan pembuatan jaringan broker. Anda dapat men-deploy cetak biru sampel ini secara langsung dari konsol Amazon MQ, atau mengedit template AWS CloudFormation terkait untuk membuat topologi dan konfigurasi Anda sendiri.

Jaringan broker dibuat dengan menghubungkan satu broker ke broker lain menggunakan konektor jaringan. Setelah terhubung, broker ini memberikan penerusan pesan. Misalnya, jika Broker1 membuat konektor jaringan ke Broker2, pesan di Broker1 diteruskan ke Broker2 jika ada konsumen pada untuk antrean atau topik pada broker tersebut. Jika konektor jaringan dikonfigurasi sebagai duplex, pesan juga diteruskan dari Broker2 ke Broker1. Konektor jaringan dikonfigurasi dalam broker konfigurasi. Lihat, Amazon MQ Broker Configuration Parameters. Misalnya, berikut adalah contoh networkConnector entri dalam konfigurasi broker:

<networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Jaringan broker memastikan bahwa pesan mengalir dari satu instans broker ke instans broker lainnya, meneruskan pesan hanya ke instans broker dengan konsumen yang sesuai. Untuk kepentingan instans broker yang berdekatan satu sama lain dalam jaringan, ActiveMQ mengirim pesan ke topik penasihatberisi produsen dan konsumen yang terhubung ke dan memutuskan koneksi dari jaringan. Ketika sebuah instans broker menerima informasi tentang konsumen yang mengkonsumsi dari tujuan tertentu, instance broker mulai meneruskan pesan. Untuk informasi selengkapnya, lihat Topik Penasihat dalam dokumentasi ActiveMQ.

Bagaimana Cara Jaringan Broker Menangani Kredensial?

Agar broker A dapat terhubung ke broker B dalam jaringan, broker A harus menggunakan kredensial yang valid, seperti produsen atau konsumen lainnya. Alih-alih memberikan password di konfigurasi <networkConnector>broker A, Anda harus terlebih dahulu membuat pengguna di broker A dengan nilai yang sama seperti pengguna lain di broker B (ini adalah penguna terpisah yang unik serta berbagi nilai nama pengguna dan kata sandi yang sama). Saat Anda menentukan atribut userName dalam konfigurasi <networkConnector>, Amazon MQ akan menambahkan kata sandi secara otomatis pada saat waktu aktif.

penting

Jangan tentukan atribut password untuk <networkConnector>. Kami tidak merekomendasikan menyimpan kata sandi plaintext dalam file konfigurasi broker, karena ini membuat kata sandi terlihat di konsol Amazon MQ. Untuk informasi selengkapnya, lihat Configure Network Connectors for Your Broker.

Pialang harus sama VPC atau mengintipVPCs. Untuk informasi selengkapnya, lihat Prasyarat di tutorial Creating and Configuring a Network of Brokers.

Cetak biru sampel

Untuk mulai menggunakan Jaringan Broker, Amazon MQ menyediakan cetak biru sampel. Contoh cetak biru ini membuat penyebaran Jaringan Broker, dan semua sumber daya terkait menggunakan,. AWS CloudFormation Dua sampel cetak biru yang tersedia adalah:

  1. Jaringan mesh broker instans tunggal

  2. Jaringan mesh dari broker aktif/siaga

Deployment sampel

Dari halaman Buat broker, pilih salah satu cetak biru sampel dan pilih Selanjutnya. Setelah sumber daya dibuat, tinjau broker yang dihasilkan dan konfigurasi mereka di konsol Amazon MQ.

Dengan membuat broker dan mengonfigurasi elemen networkConnector yang berbeda dalam konfigurasi broker, Anda dapat membuat jaringan broker di berbagai topologi. Untuk informasi selengkapnya tentang mengonfigurasi jaringan broker, lihat Jaringan Broker dalam dokumentasi ActiveMQ.

Jaringan topologi broker

Dengan men-deploy broker, lalu mengonfigurasi entri networkConnector dalam konfigurasinya, Anda dapat membangun jaringan broker menggunakan topologi jaringan yang berbeda. Konektor jaringan menyediakan penerusan pesan sesuai permintaan di antara broker yang terhubung. Koneksi dapat dikonfigurasi sebagai dupleks, di mana pesan diteruskan secara dua arah di antara broker, atau tidak dupleks, di mana penerusan hanya menyebar dari satu broker ke broker lainnya. Misalnya, jika kita memiliki koneksi dupleks antara Broker1 dan Broker2, pesan akan diteruskan dari satu broker ke broker lain jika ada konsumen.

Konektor dupleks

Dengan konektor jaringan dupleks, pesan diteruskan dari satu broker ke broker lainnya. Pesan diteruskan sesuai permintaan: jika ada konsumen di Broker2 untuk pesan di Broker1, pesan akan diteruskan. Demikian pula, jika ada konsumen di Broker1 untuk pesan di Broker2, pesan juga akan diteruskan.

Untuk koneksi nondupleks, pesan diteruskan hanya dari satu broker ke broker lainnya. Dalam contoh ini, jika ada konsumen di Broker2 untuk pesan di Broker1, pesan juga akan diteruskan. Tapi pesan tidak akan diteruskan dari Broker2 ke Broker1.

Konektor satu arah

Menggunakan kedua konektor jaringan dupleks dan nondupleks, Anda dapat membangun jaringan broker di sejumlah topologi jaringan.

catatan

Dalam setiap contoh topologi jaringan, elemen networkConnector mereferensikan titik akhir dari broker yang terhubung. Mengganti entri titik akhir broker di atribut uri dengan titik akhir broker Anda. Lihat, Listing brokers and viewing broker details.

Topologi mesh

Topologi mesh menyediakan beberapa broker yang semuanya saling terhubung. Contoh sederhana ini menghubungkan tiga broker instans tunggal, tetapi Anda dapat mengonfigurasi lebih banyak broker sebagai mesh.

Topologi mesh

Topologi ini, dan topologi yang menyertakan mesh pasangan broker aktif/siaga, dapat dibuat menggunakan cetak biru sampel di konsol Amazon MQ. Anda dapat membuat deployment cetak biru sampel untuk melihat jaringan broker yanag bekerja, dan meninjau caranya dikonfigurasi.

Anda dapat mengonfigurasi tiga jaringan mesh broker seperti ini dengan menambahkan konektor jaringan ke Broker1 yang membuat koneksi dupleks ke Broker2 dan Broker3, dan koneksi dupleks tunggal antara Broker2 dan Broker3.

Konektor jaringan untuk Broker1:

<networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_1_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Konektor jaringan untuk Broker2:

<networkConnectors> <networkConnector name="connector_2_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Dengan menambahkan konektor di atas ke konfigurasi Broker1 dan Broker2, Anda dapat membuat mesh di antara ketiga broker tersebut yang meneruskan pesan di antara semua broker sesuai permintaan. Untuk informasi selengkapnya, lihat Amazon MQ Broker Configuration Parameters.

Topologi Hub and Spoke

Dalam topologi hub and spoke, pesan disimpan jika ada gangguan pada broker apapun di spoke. Pesan diteruskan seluruhnya, dan hanya Broker1 sentral yang sangat penting untuk operasi jaringan.

Topologi hub and spoke

Untuk mengonfigurasi jaringan broker hub and spoke dalam contoh ini, Anda dapat menambahkan networkConnector ke tiap broker di spoke dalam konfigurasi Broker1.

<networkConnectors> <networkConnector name="connector_hub_and_spoke_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_hub_and_spoke_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_hub_and_spoke_4" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="connector_hub_and_spoke_5" userName="myCommonUser" duplex="true" uri="static:(ssl://b-62a7fb31-d51c-466a-a873-905cd660b553-4.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Topologi konsentrator

Dalam contoh topologi ini, tiga broker di bagian bawah dapat menangani sejumlah besar koneksi, dan pesan tersebut dikonsentrasikan ke Broker1 dan Broker2. Setiap broker lainnya memiliki koneksi nondupleks ke broker yang lebih sentral. Untuk menskalakan kapasitas topologi ini, Anda dapat menambahkan broker tambahan yang menerima pesan dan mengonsentrasikan pesan tersebut di Broker1 dan Broker2.

Topologi konsentrator

Untuk mengonfigurasi topologi ini, setiap broker di bagian bawah akan berisi konektor jaringan untuk setiap broker tempat pesan dikonsentrasikan.

Konektor jaringan untuk Broker3:

<networkConnectors> <networkConnector name="3_to_1" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="3_to_2" userName="myCommonUser" duplex="false" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Konektor jaringan untuk Broker4:

<networkConnectors> <networkConnector name="4_to_1" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="4_to_2" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Konektor jaringan untuk Broker5:

<networkConnectors> <networkConnector name="5_to_1" userName="myCommonUser" duplex="false" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="5_to_2" userName="myCommonUser" duplex="false" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Lintas wilayah

Untuk mengonfigurasi jaringan broker yang mencakup AWS wilayah, gunakan broker di wilayah tersebut, dan konfigurasikan konektor jaringan ke titik akhir broker tersebut.

Topologi mesh lintas wilayah

Untuk mengonfigurasi jaringan broker seperti contoh ini, Anda dapat menambahkan entri networkConnectors ke konfigurasi Broker1 dan Broker4 yang mereferensikan titik akhir tingkat wire dari broker tersebut.

Konektor jaringan untuk Broker1:

<networkConnectors> <networkConnector name="1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="1_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="1_to_4" userName="myCommonUser" duplex="true" uri="static:(ssl://b-62a7fb31-d51c-466a-a873-905cd660b553-4.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Konektor jaringan untuk Broker2:

<networkConnectors> <networkConnector name="2_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Konektor jaringan untuk Broker4:

<networkConnectors> <networkConnector name="4_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="4_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Failover Dinamis dengan Konektor Transportasi

Selain mengonfigurasi elemen networkConnector, Anda dapat mengonfigurasi opsi transportConnector broker untuk mengaktifkan failover dinamis, dan untuk menyeimbangkan kembali koneksi ketika broker ditambahkan atau dihapus dari jaringan.

<transportConnectors> <transportConnector name="openwire" updateClusterClients="true" rebalanceClusterClients="true" updateClusterClientsOnRemove="true"/> </transportConnectors>

Dalam contoh ini, updateClusterClients dan rebalanceClusterClients diatur ke true. Di sini, klien akan diberikan daftar broker dalam jaringan, dan akan meminta mereka untuk menyeimbangkan kembali jika broker baru bergabung.

Opsi yang tersedia:

  • updateClusterClients: Meneruskan informasi ke klien tentang perubahan dalam topologi jaringan broker.

  • rebalanceClusterClients: Membuat klien menyeimbangkan ulang di seluruh broker ketika broker baru ditambahkan ke jaringan broker.

  • updateClusterClientsOnRemove: Memberi klien informasi topologi terbaru ketika broker meninggalkan jaringan broker.

Saat updateClusterClients diatur ke True, klien dapat dikonfigurasi untuk terhubung ke broker tunggal dalam jaringan broker.

failover:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)

Ketika broker baru terhubung, ia akan menerima URIs daftar semua broker di jaringan. Jika koneksi ke broker gagal, secara dinamis broker dapat beralih ke salah satu broker yang disediakan ketika terhubung.

Untuk informasi selengkapnya tentang failover, lihat Opsi Sisi Broker untuk Failover dalam dokumentasi ActiveMQ.