Apache RocketMQ เป็นแพลตฟอร์มการส่งข้อความและการสตรีมแบบกระจายที่มีความหน่วงต่ำ มีประสิทธิภาพและความน่าเชื่อถือสูง ความจุระดับล้านล้าน และความสามารถในการปรับขนาดที่ยืดหยุ่น
มันมีคุณสมบัติที่หลากหลาย:
ย่อหน้านี้แนะนำคุณตลอดขั้นตอนการติดตั้ง RocketMQ ในรูปแบบต่างๆ สำหรับการพัฒนาและการทดสอบในพื้นที่ จะมีการสร้างอินสแตนซ์เพียงอินสแตนซ์เดียวสำหรับแต่ละองค์ประกอบ
RocketMQ ทำงานบนระบบปฏิบัติการหลักทั้งหมด และต้องการเพียง Java JDK เวอร์ชัน 8 ขึ้นไปเท่านั้นที่จะติดตั้ง หากต้องการตรวจสอบให้รัน java -version
:
$ java -version
java version " 1.8.0_121 "
สำหรับผู้ใช้ Windows คลิกที่นี่เพื่อดาวน์โหลดไบนารี่ 5.2.0 RocketMQ แล้วแตกไฟล์ลงในดิสก์ภายในเครื่องของคุณ เช่น D:rocketmq
สำหรับผู้ใช้ macOS และ Linux ให้รันคำสั่งต่อไปนี้:
# Download release from the Apache mirror
$ wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip
# Unpack the release
$ unzip rocketmq-all-5.2.0-bin-release.zip
เตรียมเทอร์มินัลและเปลี่ยนเป็นไดเร็กทอรี bin
ที่แตกออกมา:
$ cd rocketmq-all-5.2.0-bin-release/bin
1) เริ่มเนมเซิร์ฟเวอร์
NameServer จะรับฟังที่ 0.0.0.0:9876
ตรวจสอบให้แน่ใจว่าผู้อื่นไม่ได้ใช้พอร์ตบนเครื่องท้องถิ่น จากนั้นให้ดำเนินการดังนี้
สำหรับผู้ใช้ macOS และ Linux:
# ## start Name Server
$ nohup sh mqnamesrv &
# ## check whether Name Server is successfully started
$ tail -f ~ /logs/rocketmqlogs/namesrv.log
The Name Server boot success...
สำหรับผู้ใช้ Windows คุณต้องตั้งค่าตัวแปรสภาพแวดล้อมก่อน:
ROCKETMQ_HOME="D:rocketmq"
จากนั้นเปลี่ยนไดเร็กทอรีเป็น rocketmq พิมพ์และรัน:
$ mqnamesrv.cmd
The Name Server boot success...
2) เริ่มต้นโบรกเกอร์
สำหรับผู้ใช้ macOS และ Linux:
# ## start Broker
$ nohup sh bin/mqbroker -n localhost:9876 &
# ## check whether Broker is successfully started, eg: Broker's IP is 192.168.1.2, Broker's name is broker-a
$ tail -f ~ /logs/rocketmqlogs/broker.log
The broker[broker-a, 192.169.1.2:10911] boot success...
สำหรับผู้ใช้ Windows:
$ mqbroker.cmd -n localhost:9876
The broker[broker-a, 192.169.1.2:10911] boot success...
คุณสามารถเรียกใช้ RocketMQ บนเครื่องของคุณเองภายในคอนเทนเนอร์ Docker ได้ เครือข่าย host
จะถูกใช้เพื่อแสดงพอร์ตการฟังในคอนเทนเนอร์
1) เริ่มเนมเซิร์ฟเวอร์
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) เริ่มต้นโบรกเกอร์
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
คุณยังสามารถรันคลัสเตอร์ RocketMQ ภายในคลัสเตอร์ Kubernetes ได้โดยใช้ RocketMQ Operator ก่อนดำเนินการ ตรวจสอบให้แน่ใจว่าได้ติดตั้ง kubectl
และไฟล์ kubeconfig ที่เกี่ยวข้องในเครื่องของคุณแล้ว
1) ติดตั้ง CRD
# ## install CRDs
$ git clone https://github.com/apache/rocketmq-operator
$ cd rocketmq-operator && make deploy
# ## check whether CRDs is successfully installed
$ kubectl get crd | grep rocketmq.apache.org
brokers.rocketmq.apache.org 2022-05-12T09:23:18Z
consoles.rocketmq.apache.org 2022-05-12T09:23:19Z
nameservices.rocketmq.apache.org 2022-05-12T09:23:18Z
topictransfers.rocketmq.apache.org 2022-05-12T09:23:19Z
# ## check whether operator is running
$ kubectl get pods | grep rocketmq-operator
rocketmq-operator-6f65c77c49-8hwmj 1/1 Running 0 93s
2) สร้างอินสแตนซ์คลัสเตอร์
# ## create RocketMQ cluster resource
$ cd example && kubectl create -f rocketmq_v1alpha1_rocketmq_cluster.yaml
# ## check whether cluster resources is running
$ kubectl get sts
NAME READY AGE
broker-0-master 1/1 107m
broker-0-replica-1 1/1 107m
name-service 1/1 107m
เรายินดีรับการมีส่วนร่วมใหม่ๆ เสมอ ไม่ว่าจะเป็นการล้างข้อมูลเล็กๆ น้อยๆ ฟีเจอร์ใหม่ๆ ที่ยิ่งใหญ่ หรือรางวัลด้านวัตถุอื่นๆ รายละเอียดเพิ่มเติมดูที่นี่
ใบอนุญาต Apache เวอร์ชัน 2.0 ลิขสิทธิ์ (C) มูลนิธิซอฟต์แวร์ Apache
การแจกจ่ายนี้รวมถึงซอฟต์แวร์เข้ารหัสลับด้วย ประเทศที่คุณอาศัยอยู่ในปัจจุบันอาจมีข้อจำกัดในการนำเข้า ครอบครอง ใช้ และ/หรือส่งออกซ้ำไปยังประเทศอื่นของซอฟต์แวร์เข้ารหัส ก่อนที่จะใช้ซอฟต์แวร์เข้ารหัสใดๆ โปรดตรวจสอบกฎหมาย ข้อบังคับ และนโยบายของประเทศของคุณเกี่ยวกับการนำเข้า ครอบครอง หรือใช้ และส่งออกซอฟต์แวร์เข้ารหัสอีกครั้ง เพื่อดูว่าได้รับอนุญาตหรือไม่ ดู http://www.wassenaar.org/ สำหรับข้อมูลเพิ่มเติม
กระทรวงพาณิชย์ของรัฐบาลสหรัฐอเมริกา สำนักงานอุตสาหกรรมและความปลอดภัย (BIS) ได้จัดประเภทซอฟต์แวร์นี้เป็นหมายเลขควบคุมสินค้าส่งออก (ECCN) 5D002.C.1 ซึ่งรวมถึงซอฟต์แวร์รักษาความปลอดภัยข้อมูลที่ใช้หรือดำเนินการฟังก์ชันการเข้ารหัสด้วยอัลกอริธึมที่ไม่สมมาตร รูปแบบและลักษณะของการแจกจ่าย Apache Software Foundation นี้ทำให้มีสิทธิ์ในการส่งออกภายใต้ข้อยกเว้นใบอนุญาต ENC Technology Software Unrestricted (TSU) ข้อยกเว้น (ดู BIS Export Administration Rules, มาตรา 740.13) สำหรับทั้ง object code และ source code
ข้อมูลต่อไปนี้ให้รายละเอียดเพิ่มเติมเกี่ยวกับซอฟต์แวร์เข้ารหัสที่มีให้:
ซอฟต์แวร์นี้ใช้ Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) เพื่อรองรับการตรวจสอบสิทธิ์ และการเข้ารหัสและการถอดรหัสข้อมูลที่ส่งผ่านเครือข่ายระหว่างบริการต่างๆ