本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於兔子 MQ 尺寸規模指南的 Amazon MQ
您可以選擇最能支援應用程式的代理程式執行個體類型。選擇執行個體類型時,請務必考慮會影響經紀人效能的因素:
-
用戶端和佇列的數目
-
發送的消息量
-
保存在內存中的消息
-
冗餘訊息
建議僅在測試應用程式效能時使用較小的 Broker 執行個體類型 (t3.micro
)。對於用戶端m5.large
和佇列的生產層級、高輸送量、記憶體中的訊息和備援訊息,我們建議使用較大的 Broker 執行個體類型 (或以上)。
測試代理程式以確定適合您工作負載傳訊需求的適當執行個體類型和大小非常重要。請使用下列調整指南來決定最適合您應用程式的執行個體類型。
單一執行個體部署的大小準則
下表顯示單一執行個體代理程式之每個執行個體類型的最大限制值。
執行個體類型 | 連線 | 頻道 | 佇列 | 消費者每個通道 | 鐵鍬 |
---|---|---|---|---|---|
t3.micro | 500 | 1,500 | 2,500 | 1,000 | 150 |
m5.large | 5,000 | 15,000 | 30,000 | 1,000 | 250 |
m5.xlarge | 10,000 | 30,000 | 60,000 | 1,000 | 500 |
m5.2xlarge | 20,000 | 60,000 | 120,000 | 1,000 | 1,000 |
m5.4xlarge | 40,000 | 120,000 | 240,000 | 1,000 | 2,000 |
叢集部署的大小準則
下表顯示叢集代理程式每個執行個體類型的最大限制值。
執行個體類型 | 連線 | 頻道 | 佇列 | 消費者每個通道 | 鐵鍬 |
---|---|---|---|---|---|
m5.large | 15,000 | 45,000 | 10,000 | 1,000 | 150 |
m5.xlarge | 30,000 | 90,000 | 15,000 | 1,000 | 300 |
m5.2xlarge | 60,000 | 180,000 | 20,000 | 1,000 | 600 |
m5.4xlarge | 120,000 | 360,000 | 30,000 | 1,000 | 1200 |
每個節點都會套用連接、通道和鏟子限制。視可用節點數目以及 RabbitMQ 在可用節點之間分配資源的方式而定,叢集代理程式的確切限制值可能低於指定的值。
錯誤訊息
超過限制時,會傳回下列錯誤訊息。所有值均以m5.large
單一執行個體限制為基礎。
注意
下列訊息的錯誤碼可能會根據您使用的用戶端程式庫而變更。
Connection (連線)
ConnectionClosedByBroker 500 "NOT_ALLOWED - connection refused: node connection limit (500) is reached"
Channel
ConnectionClosedByBroker 1500 "NOT_ALLOWED - number of channels opened on node
'rabbit@ip-10-0-23-173.us-west-2.compute.internal' has reached the maximum allowed limit of (15,000)"
消費者
ConnectionClosedByBroker: (530, 'NOT_ALLOWED - reached maximum (1,000) of consumers per channel')
注意
下列錯誤訊息使用 HTTP 管理 API 格式。
佇列
{"error":"bad_request","reason":"cannot declare queue 'my_queue': queue limit in cluster (30,000) is reached"}]
鏟子
{"error":"bad_request","reason":"Validation failed\n\ncomponent shovel is limited to 250 per node\n"}
虛擬主機
{"error":"bad_request","reason":"cannot create vhost 'my_vhost': vhost limit of 4,000 is reached"}