พิจารณาใช้ปลั๊กอิน rabbitmq / rabbitmq-autocluster :
ปลั๊กอิน RabbitMQ ที่รวมกลุ่มโหนดโดยอัตโนมัติโดยใช้กลไกการค้นพบแบบ peer:
- กงสุล ,
- etcd2
- DNS A records
- แท็ก AWS EC2
- AWS Autoscaling Groups
มีการกำหนดค่าที่ค่อนข้างยุติธรรมในการเชื่อมต่อเพื่อรับการตั้งค่านี้รวมถึงการตั้งค่านโยบาย IAM และเพิ่มแท็ก EC2 ให้กับอินสแตนซ์ที่คุณต้องการเข้าร่วมในคลัสเตอร์ของคุณ
หากคุณใช้ AWS Autoscaling Groups คุณจะต้องเพิ่มสิ่งต่อไปนี้ในrabbitmq.config
:
[
{rabbit, [ ... ]},
{autocluster, [
{backend, aws},
{aws_autoscaling, true},
{aws_ec2_region, "us-west-2"}
]}
].
หากคุณไม่ได้ใช้ AWS Autoscaling Groups คุณก็ยังสามารถใช้ผลลัพธ์ที่ต้องการได้โดยใช้แท็กบนอินสแตนซ์ EC2 ของคุณ:
[
{rabbit, [ ... ]},
{autocluster, [
{backend, aws},
{aws_ec2_tags, [{"region", "us-west-2"}, {"service", "rabbitmq"}]},
{aws_ec2_region, "us-east-1"},
{aws_access_key, "..."},
{aws_secret_key, "..."}
]}
].
จากทั้งหมดที่กล่าวมาฉันขอแนะนำให้ใช้กงสุลโดย HashiCorpเป็นกลไกค้นหาบริการของคุณในระยะยาวคุณจะมีความยืดหยุ่นมากขึ้นในแง่ของการแยกส่วนของระบบของคุณออกจากกัน