RabbitMQ

安装

  • 直接安装 ```bash brew install rabbitmq //macos yum install rabbitmq-server //linux choco install rabbitmq //windows

rabbitmq-plugins enable rabbitmq_management #启动web控制台

  1. - docker安装
  2. ```bash
  3. docker pull rabbitmq:management #如果不带后缀就没有web控制台
  4. docker run -itd --name rabbitmq-test -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p5672:5672 rabbitmq:management
  5. docker exec -it rabbitmq-test bash
  6. >rabbitmqctl status
  7. >rabbitmqctl list_queues
  8. >rabbitmqadmin declare queue name=test1 -u admin -p admin
  9. >rabbitmqadmin get queue=test1 -u admin -p admin

核心概念

核心概念.png

RocketMQ

安装

👉 http://rocketmq.apache.org/docs/quick-start/

wget ''
unzip rocketmq-all-4.8.0-source-release.zip
cd rocketmq-all-4.8.0/
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/rocketmq-4.8.0/rocketmq-4.8.0

nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log

  The Name Server boot success...

nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/broker.log 

  The broker[%s, 172.30.30.233:10911] boot success...

export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

  SendResult [sendStatus=SEND_OK, msgId= ...

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

  ConsumeMessageThread_%d Receive New Messages: [MessageExt...

核心概念

rocketmq架构图.png

Pulsar

安装

wget https://archive.apache.org/dist/pulsar/pulsar-2.7.0/apache-pulsar-2.7.0-bin.tar.gz
tar xvfz apache-pulsar-2.7.0-bin.tar.gz
cd apache-pulsar-2.7.0
bin/pulsar standalone
bin/pulsar-client consume my-topic -s "first-subscription"
bin/pulsar-client produce my-topic --messages "hello-pulsar"

核心概念

  • 基于topic,支持namespace和多租户

多租户.png

  • 支持四种消费模式,支持partition

四种消费模式.png

  • 计算存储分离,高可用集群

计算存储分离.png

EIP

  • EnterpriseIntegrationPatterns 企业集成模型
  • 集成领域的两大法宝就是RPC和Messaging,也是所有SOA/ESB(EnterpriseServiceBus企业服务总线)基础
  • 两个开源EIP实现框架
    • Camel
    • SpringIntegration

      Camel

      SpringIntegration