Pulsar简介
Pulsar是一个用于服务端到服务端的消息中间件,具有多租户、高性能等优势。Pulsar最初由Yahoo开发,目前由Apache软件基金会管理。Pulsar采用发布-订阅
的设计模式,Producer发布消息到Topic,Consumer订阅Topic、处理Topic中的消息。
Pulsar具有如下特性:
-
Pulsar的单个实例原生支持集群。
-
极低的发布延迟和端到端延迟。
-
可无缝扩展到超过一百万个Topic。
-
简单易用的客户端API,支持Java、Go、Python和C++。
-
支持多种Topic订阅模式(独占订阅、共享订阅、故障转移订阅)。
-
通过Apache BookKeeper提供的持久化消息存储机制保证消息传递。
Pulsar安装
使用Docker安装Pulsar是最简单的,这次我们使用Docker来安装。
-
首先下载Pulsar的Docker镜像;
docker pull apachepulsar/pulsar:2.7.1复制代码
-
下载完成后运行Pulsar容器,http协议访问使用
8080
端口,pulsar协议(Java、Python等客户端)访问使用6650
端口。
docker run --name pulsar \ -p 6650:6650 \ -p 8080:8080 \ --mount source=pulsardata,target=/pulsar/data \ --mount source=pulsarconf,target=/pulsar/conf \ -d apachepulsar/pulsar:2.7.1 \ bin/pulsar standalone复制代码
Pulsar可视化
Pulsar Manager
是官方提供的可视化工具,可以对多个Pulsar进行可视化管理,虽然功能不多,但也基本够用了,支持Docker部署。
-
下载
pulsar-manager
的Docker镜像;
docker pull apachepulsar/pulsar-manager:v0.2.0复制代码
-
下载完成后运行
pulsar-manager
容器,从9527
端口可以访问Web页面;
docker run -it --name pulsar-manager\
-p 9527:9527 -p 7750:7750 \
-e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
-d apachepulsar/pulsar-manager:v0.2.0复制代码
-
运行成功后,我们刚开始无法访问,需要创建管理员账号,这里创建账号为
admin:apachepulsar
:
CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token) curl \
-H "X-XSRF-TOKEN: $CSRF_TOKEN" \
-H "Cookie: XSRF-TOKEN=$CSRF_TOKEN;" \
-H 'Content-Type: application/json' \
-X PUT http://localhost:7750/pulsar-manager/users/superuser \
-d '{"name": "admin", "password": "apachepulsar", "description": "test", "email": "[email protected]"}'复制代码
-
创建成功后,通过登录页面进行登录,访问地址:http://192.168.5.78:9527
-
登录成功后我们需要先配置一个环境,就是将需要管理的Pulsar服务配置上去,配置的
Service URL
为:http://192.168.5.78:8080
-
可以查看Tenant列表;
-
可以查看Topic列表和管理Topic;
-
还可以查看Topic的详细信息。