Pulsar 的 Geo-Replication 测试

以下测试基于 pulsar:2.8.0 standalone 模式
详细信息参考官方教程:https://pulsar.apache.org/docs/en/2.8.0/administration-geo/

环境搭建

准备两台机器,假设未 ip1 与 ip2,执行如下:

环境搭建

# 在 ip1 机器上执行:
docker apachepulsar/pulsar:/pulsar/conf .
# 修改 standalone.conf, 设置 clusterName=cluster1

# 启动容器
docker run -itd -p 8080:8080 -p 6650:6650 -v conf:/pulsar/conf apachepulsar/pulsar bin/pulsar standalone

以上步骤在 ip2 上做一次,但是名字不要冲突,假设clusterName为 cluster2

配置同步

# 在 ip1 机器上执行:
# 创建集群
bin/pulsar-admin clusters create \
--broker-url pulsar://ip2:6650 \
--url http://ip2:8080 \
cluster2

# 创建租户
bin/pulsar-admin tenants create my-tenant \
  --admin-roles my-admin-role \
  --allowed-clusters cluster1,cluster2

# 创建 namespace
bin/pulsar-admin namespaces create my-tenant/my-namespace

# 配置 namespace 集群权限
bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace \
  --clusters cluster69,cluster52

上述步骤在机器 ip2 执行一遍,注意做对应修改

测试

此时两个standalone 就完成了集群的同步。在任一个机器上创建 my-tenant/my-namespace 下的 topic,与 topic 里的消息(订阅状态同步需要手动使能)都会被同步到另一个机器。

posted @ 2021-11-05 10:27  sinpo828  阅读(247)  评论(0编辑  收藏  举报