Broker模块¶
如果是第一次安装WeEvent,参见这里的系统要求 。以下安装以CentOS 7.2为例。
因为区块链使用的加密算法很多OpenJDK版本没有提供。所以在各Java启动脚本里有设置JAVA_HOME变量让用户设置符合要求的JDK。
前置条件¶
Zookeeper服务
必选配置。服务注册和发现会使用到。
推荐使用
Zookeeper 3.5.5及其以上版本。具体安装步骤,请参见Zookeeper安装。区块链FISCO-BCOS节点
必选配置。Broker通过区块链
FISCO-BCOS持久化数据。
获取安装包¶
从github下载安装包weevent-broker-1.6.0.tar.gz,并且解压到/usr/local/weevent/下。
$ cd /usr/local/weevent/
$ wget https://github.com/WeBankFinTech/WeEvent/releases/download/v1.6.0/weevent-broker-1.6.0.tar.gz
$ tar -zxf weevent-broker-1.6.0.tar.gz
如果github下载速度慢,可以尝试国内下载链接。
解压后的目录如下:
$ cd ./weevent-broker-1.6.0
$ tree -L 1
.
|-- apps
|-- broker.sh
|-- check-service.sh
|-- conf
|-- deploy-fabric-topic-control.sh
|-- deploy-topic-control.sh
|-- gen-cert-key.sh
`-- lib
修改配置文件¶
配置Zookeeper服务
可选配置。
./conf/application-prod.properties中spring.cloud.zookeeper配置项。# spring cloud zookeeper spring.cloud.zookeeper.enabled=true spring.cloud.zookeeper.connect-string=127.0.0.1:2181
区块链FISCO-BCOS节点
区块链节点配置文件fisco.yml
修改
nodes=127.0.0.1:20200配置项,nodes为区块链节点channel访问入口。访问节点的证书文件
2.x版本的证书文件
ca.crt、sdk.crt、sdk.key放在./conf/conf目录下。国密版需要的证书文件
gmca.crt、gmensdk.crt、gmensdk.key、gmsdk.crt、gmsdk.key。证书目录在FiscoBcos安装目录下
nodes/127.0.0.1/sdk/, 可直接将该目录下所有内容拷贝到./conf/conf下。cp -rf fisco安装路径/nodes/127.0.0.1/sdk/* ./conf/conf
证书文件生成及获取请参见FISCO-BCOS 2.x安装 及 FISCO-BCOS SDK配置说明 。
部署系统合约
运行脚本
./deploy-topic-control.sh部署合约。例如:$ ./deploy-topic-control.sh 2020-03-06 10:33:37 topic control address in every group: topic control address in group: 1 version: 10 address: 0x23df89a2893120f686a4aa03b41acf6836d11e5d new: true topic control address in group: 2 version: 10 address: 0x23df89a2893120f686a4aa03b41acf6836d11e5d new: true
脚本会检查之前是否部署过合约,重复执行只是显示已有数据。
配置Broker监听端口
可选配置。
./conf/application-prod.properties中server.port配置项,默认监听端口7000,根据业务需要配置。配置IP白名单
可选配置。
./conf/weevent.properties中配置了值就会开启白名单验证。# 配置ip白名单,多个ip使用分号分割 示例:127.0.0.1;127.0.0.2 ip.check.white-table=${ip}
ip.check.white-table默认为空,允许任何客户端IP访问。配置STOMP
可选配置。
./conf/weevent.properties中stomp.*配置项。# 发送心跳时间间隔 单位:秒 stomp.heartbeats=30
配置
MQTT Broker可选配置。配置文件
./conf/weevent.properties中mqtt.*配置项。# MQTT over tcp端口 mqtt.broker.tcp.port=7001 # 心跳时间 单位:秒 mqtt.broker.keepalive=60
启动用户身份认证、权限控制
可选配置,默认不开启,目前支持MQTT协议,后续会扩展支持其他协议。需要在DB里配置用户名密码,可通过外部工具处理,后续提供接口增删。
spring.security.user.auth=false spring.security.user.topic.auth=false
更多系统详细配置参见配置说明
服务启停¶
通过./broker.sh start命令启动服务,正常启动如下:
$ ./broker.sh start
start weevent-broker success (PID=89054)
add the crontab job success
通过./broker.sh stop命令停止服务。
进程启动后,会自动加入集群,同时添加crontab监控任务./broker.sh monitor。