mainflux 物联网平台之实现mqtt服务vernemq集群配置及mqtts协议配置
一,verneme集群配置
1,本平台mqtt服务由adapter+vernemq组成,adapter的实现是mProxy,搭建vernemq的原因时,平台默认mqtt服务为1个副本,多副本情况下,回出现调用mqtt服务超时问题,经排查,确定时后端vernemq数据不一致造成,查询文档,可搭建vernemq集群来解决问题
官方文档地址 https://github.com/vernemq/docker-vernemq
关于k8s建立集群的步骤
注意!!! **本平台相关配置已配置,但serviceAccounts并没有创建,需手动创建或开启default SA的权限 **
二,mqtts协议的实现
1,由于本平台mqtt服务由envoy在最前端代理,虽然adapter和vernemq都可以实现tls证书的卸载,但就该平台而言 修改最小的方法就是在envoy层面卸载tls,
2,在envoy卸载tls相关配置 ,在envoy.conf中添加tls相关配置段,见下图红框
3,创建TLS类型的secret,然后挂载到envoy中,具体配置不在此赘述
参考文档:https://www.modb.pro/db/211374 (envoy开启tls) https://www.likecs.com/show-306851382.html(开启双向认证)