如题
求教如何处理这两种问题
第一种问题是想持久化
第二种问题场景是emqx服务断了,客户端不主动断开连接一直保持连接发消息,还能发成功,这似乎是一个问题,用的MQTTX和自己业务模块测也是这样情况,有没有解决思路
顺便确认下,将emqx服务副本数都设置0模拟停服务,mqtt服务就不好使了对吧
如题
求教如何处理这两种问题
第一种问题是想持久化
第二种问题场景是emqx服务断了,客户端不主动断开连接一直保持连接发消息,还能发成功,这似乎是一个问题,用的MQTTX和自己业务模块测也是这样情况,有没有解决思路
1 k8s可以持久化的。
2 也没有解决办法。
1、内置数据库迁移到其他数据库有没有一个很好的方案?
因为进行观察,内置数据库无法在副本数为0的情况下保留,只有重建内置数据库逻辑才能恢复服务的可用性,这一个问题。
2、应用程序设置如下类似探针可以避免停用中间件导致服务一直发送消息的情况嘛?
livenessProbe:
exec:
command:
- curl
- emqx-dashboard:18083
failureThreshold: 3
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: 48010
timeoutSeconds: 1
没有,只能手工自己做。
有一个/status的 API,不用 authentication 都能请求的。可以用它来做探针。
/status这个api放置哪种探针较为合理 ?还有已经使用外部数据库(比如mysql)的情况下,在数据库对应表把内置数据库用户密码插入进去进去就是你说的手动 就可以不用依靠内置库我理解这样?
是的,把内置数据库关了。只有 mysql
这个是 http api ,用 curl 请求他返回 200 就行。
存活性探针?
没事了 我再试试