配置说明

Broker 配置

Broker服务主要有三类配置,Spring Boot进程配置、区块链FISCO-BCOS节点配置、WeEvent服务配置。

  • Spring Boot进程配置

配置文件./broker/conf/application-prod.properties,这个是Spring Boot标准配置文件,一般不需要修改。细节请参见Spring Boot文档

配置项默认值配置说明
server.port8090spring监听端口
server.servlet.context-path/weeventspring上下文路径
  • 区块链FISCO-BCOS节点配置

配置文件./broker/conf/fisco.properties

配置项默认值配置说明
version2.0FISCO-BCOS版本,支持2.0和1.3
topic-controller.address1:0x23df89a289312…;WeEvent系统合约地址。
orgidfisco机构名,按机构实际名称填写即可
nodes127.0.0.1:30701区块链节点列表,多个地址以;分割
accountbcec428d5205abe0f…WeEvent执行交易的账号,一般不需要修改
web3sdk.timeout10000交易执行超时时间,单位毫秒
web3sdk.core-pool-size10web3sdk最小线程数
web3sdk.max-pool-size200web3sdk最大线程数
web3sdk.queue-capacity1000web3sdk队列大小
web3sdk.keep-alive-seconds60web3sdk线程空闲时间,单位秒

区块链节点详细配置,参见Web3SDK配置文件

  • WeEvent服务配置

配置文件./broker/conf/weevent.properties

配置项默认值配置说明
consumer.idle-time1000区块链新增块事件检测周期,单位毫秒
ip.check.white-tableIP白名单。多个IP地址,以";"分割。默认为空时表示允许任何客户端访问。
redis.server.ipredis服务IP
redis.server.port6379redis服务端口
redis.server.passwordweeventredis服务访问密码
lru.cache.capacity65536缓存大小,使用LRU策略淘汰
restful.subscribe.callback.timeout5000事件通知回调的超时时间,单位毫秒
broker.zookeeper.ipzookeeper服务
broker.zookeeper.path/event_brokerzookeeper数据路径
broker.zookeeper.timeout3000zookeeper链接超时时间,单位毫秒
stomp.user.loginstomp访问账号,空为不开启校验
stomp.user.passcodestomp访问密码
stomp.heartbeats30stomp心跳间隔,单位秒
mqtt.broker.port8091mqtt协议TCP访问端口
mqtt.broker.keepalive60mqtt连接空闲时间,单位秒
mqtt.websocket.path/weevent/mqttmqtt连接目录
mqtt.websocket.port8092mqtt协议web socket访问端口
mqtt.user.loginmqtt访问账号,空为不开启校验
mqtt.user.passcodemqtt访问密码

Governance

配置文件./governance/conf/application-prod.yml

配置项默认值配置说明
server.port8099spring监听端口
spring.datasource.urljdbc:mysql://127.0.0.1:3306/governance?useUnicode=true&characterEncoding=utf-8&useSSL=false数据源
spring.datasource.driver-class-nameorg.mariadb.jdbc.Driver驱动类
spring.datasource.usernamexxxx数据库账号用户名
spring.datasource.passwordyyyy数据库账号密码
spring.datasource.typeorg.apache.commons.dbcp2.BasicDataSource数据源类型
spring.datasource.dbcp2.max-wait-millis10000数据库连接池最长等待时间ms
spring.datasource.dbcp2.min-idle5数据库连接池最小空闲
spring.datasource.dbcp2.initial-size5数据库连接池初始大小
spring.datasource.dbcp2.validation-querySELECT 'x'数据库连接池验证查询
spring.mail.default-encodingUTF-8编码类型
spring.mail.hostsmtp.163.com邮件服务器主机
spring.mail.usernamemailusername@163.com邮箱用户名
spring.mail.passwordmailpwd邮箱密码
http.client.max-total200http最大请求数
http.client.max-per-route500http最大请求路由数
http.client.connection-request-timeout3000http请求读取超时时间ms
http.client.connection-timeout3000http请求连接超时时间ms
http.client.socket-timeout5000http请求socket超时时间ms
https.client.read-timeout3000服务器内部读取其它服务的超时时间ms
https.client.connect-timeout3000服务器内部连接其它服务的超时时间ms

Nginx 配置说明

  • 修改后端子模块路由

通过配置文件nginx/conf/conf.d/http_rs.conf里的upstream来增加和移除后端的业务机器。

  1. upstream broker_backend{
  2. server localhost:8090 weight=100 max_fails=3;
  3.  
  4. ip_hash;
  5. keepalive 1024;
  6. }
  7.  
  8. upstream broker_mqtt_websocket_backend {
  9. server localhost:8092 weight=100 max_fails=3;
  10.  
  11. ip_hash;
  12. keepalive 1024;
  13. }
  14.  
  15. upstream governance_backend{
  16. server localhost:8099 weight=100 max_fails=3;
  17.  
  18. ip_hash;
  19. keepalive 1024;
  20. }

特别的,如果使用了基于TCPMQTT协议。配置文件为nginx/conf/conf.d/tcp_rs.conf

  • 使用TLS加密传输

WeEvent通过Nginx实现TLS加密传输。如下./nginx/conf/nginx.conf的默认配置不支持TLS

  1. worker_processes 10;
  2. pid logs/nginx.pid;
  3.  
  4. events {
  5. use epoll;
  6. worker_connections 10000;
  7. }
  8. worker_rlimit_nofile 10000;
  9.  
  10. #support web/restful/jsonrpc/stomp
  11. http {
  12. include mime.types;
  13. default_type application/octet-stream;
  14. keepalive_timeout 65;
  15.  
  16. # custom config
  17. server_tokens off;
  18. client_body_temp_path ./nginx_temp/client_body;
  19. proxy_temp_path ./nginx_temp/proxy;
  20. fastcgi_temp_path ./nginx_temp/fastcgi;
  21. uwsgi_temp_path ./nginx_temp/uwsgi;
  22. scgi_temp_path ./nginx_temp/scgi;
  23.  
  24. # http conf
  25. include ./conf.d/http_rs.conf;
  26.  
  27. # include ./conf.d/https.conf
  28. include ./conf.d/http.conf;
  29. }
  30.  
  31. # support mqtt over tcp
  32. stream {
  33. include ./conf.d/tcp_rs.conf;
  34.  
  35. #include ./conf.d/tcp_tls.conf
  36. include ./conf.d/tcp.conf;
  37. }

通过对应替换include ./conf.d/https.confinclude ./conf.d/tcp_tls.conf来支持TLS

更多Nginx配置文件说明,请参见Nginx配置