Hazelcast ClientConnectionStrategyConfig.ReconnectMode.ON与ASYNC区别及疑问
Hazelcast Client ReconnectMode: ON 与 ASYNC 区别解析
ReconnectMode.ON 模式
- 客户端会以同步阻塞的方式持续尝试重连集群,直到成功建立连接。在此期间,所有客户端发起的业务操作(如数据读写)都会暂停,等待连接恢复后再执行。
- 针对你的疑问:是的,ON模式下客户端会不断重试,直到集群中有可用成员上线,不会主动终止重连(除非客户端进程被停止)。
- 注意:该模式会阻塞业务线程,直到重连成功,使用时需评估对业务流程的阻塞影响。
ReconnectMode.ASYNC 模式
- 客户端会在后台异步非阻塞地执行重连逻辑,不会阻塞业务线程的正常运行。
- 具体机制:
- 连接断开时,客户端发起的操作会立即抛出
HazelcastInstanceNotActiveException(或对应连接异常),不会等待重连结果。 - 后台会启动独立线程持续尝试重连,一旦重连成功,客户端自动恢复操作能力,后续业务请求可正常执行。
- 这种模式下,业务代码需要自行处理连接断开时的异常,比如捕获异常后进行重试或降级处理。
- 连接断开时,客户端发起的操作会立即抛出
核心区别总结
| 对比维度 | ReconnectMode.ON | ReconnectMode.ASYNC |
|---|---|---|
| 线程阻塞特性 | 同步阻塞,业务线程暂停等待重连 | 异步非阻塞,业务线程不受影响 |
| 业务操作失败处理 | 操作等待重连成功后执行 | 操作立即抛出异常,需业务自行处理 |
| 重连执行线程 | 业务线程中执行重连逻辑 | 后台独立线程执行重连逻辑 |
内容的提问来源于stack exchange,提问作者Arjun
相关产品推荐
相关产品推荐

