Hazelcast系列(六): TCP-IP发现机制

2023-10-06 20:15

本文主要是介绍Hazelcast系列(六): TCP-IP发现机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章

Hazelcast系列(一):初识hazelcast

Hazelcast系列(二):hazelcast集成

Hazelcast系列(三):hazelcast管理中心

Hazelcast系列(四):Auto-Detection发现机制

Hazelcast系列(五):Multicast发现机制

Hazelcast系列(六): TCP-IP发现机制

目录

前言

配置

配置元素

其他

总结


前言

如果是通信环境比较复杂,在外网或者安全性不高的网络通信的情况下,Multicast 可能不是首选,那么,这里就可以采用 TCP/IP 集群配置的方式。

当将 Hazelcast 配置为通过 TCP/IP 发现成员时,必须将成员的主机名和/或 IP 地址的全部或子集列出为集群成员。TCP/IP 不必列出所有这些集群成员,但当新成员加入时,所列出的成员中至少有一个必须在集群中处于活动状态

配置

  • XML
<hazelcast>...<network><join><tcp-ip enabled="true"><member-list><member>machine1</member><member>machine2</member><member>machine3:5799</member><member>192.168.1.0-7</member><member>192.168.1.21</member></member-list></tcp-ip></join></network>...
</hazelcast>
  • YAML
hazelcast:network:join:tcp-ip:enabled: truemember-list:- machine1- machine2- machine3:5799- 192.168.1.0-7- 192.168.1.21

注意:

  1. 这里TCP/IP enabled 为 true 后,其他的发现方式需要设置为false,尤其是默认的发现方式
  2. machine1、machine2、machine3 等名称可以是 主机名 或者 IP地址
  3. member-list 中每个成员,可以设置范围,但是必须要配置至少一个存活的成员
  4. 可以不配置端口,Hazelcast 会自动尝试端口 5701、5702

配置元素

  • enabled:指定是否启用 TCP/IP 发现。值可以是true或false。
  • required-member:所需成员的IP地址。仅当找到具有该 IP 地址的成员时才会形成集群。
  • member-list:一位或多位集群成员的 IP 地址。一旦会员连接到这些众所周知的地址,所有成员地址就会相互通信。这里还可以使用members元素给出以逗号分隔的 IP 地址。
  • connection-timeout-seconds:定义连接超时(以秒为单位)。这是 Hazelcast 在放弃之前尝试连接到成员的最长时间。将其设置为太低的值可能意味着成员无法连接到集群。将其设置为过高的值意味着成员启动可能会因超时较长而变慢,例如当集群成员未启动时。如果列出了许多 IP 并且成员无法正确构建集群,建议增加此值。它的默认值为 5 秒。

其他

  • 默认情况下,Hazelcast 绑定到所有本地网络接口以接受传入流量。可以使用系统属性更改此行为 hazelcast.socket.bind.any 。如果将此属性设置为 false,Hazelcast 将使用元素中指定的接口 interfaces 。如果未提供接口,则它会尝试解析一个接口以从 member 元素绑定。
System.setProperty("hazelcast.socket.bind.any", "false");
  • TCP/IP 在网络情况不好的情况下,发现成员时 或者 脑裂恢复 会有一个集群成员合并的过程,这里可以通过设置两个参数:
    • hazelcast.merge.first.run.delay.seconds:分裂或者合并在服务初始后多久开始,默认300,单位秒
    • hazelcast.merge.next.run.delay.seconds:分裂或者合并过程的运行间隔,默认120,单位秒
System.setProperty("hazelcast.merge.first.run.delay.seconds", "300");
System.setProperty("hazelcast.merge.next.run.delay.seconds", "120");
  • TCP/IP  发现成员IP可以配置为 负载均衡的服务器IP 网关IP,主要 负载均衡IP 或者 网关IP 能跟下面的具体集群成员之间相互通信

总结

TCP/IP 是一个可以解决复杂环境的 Hazelcast 集群成员发现方式,但是需要指定一个存活的成员地址。

这篇关于Hazelcast系列(六): TCP-IP发现机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/153924

相关文章

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

MySQL中的锁和MVCC机制解读

《MySQL中的锁和MVCC机制解读》MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和... 目录mysql的锁和MVCC机制事务的概念与ACID特性锁的类型及其工作机制锁的粒度与性能影响多版本

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

Spring使用@Retryable实现自动重试机制

《Spring使用@Retryable实现自动重试机制》在微服务架构中,服务之间的调用可能会因为一些暂时性的错误而失败,例如网络波动、数据库连接超时或第三方服务不可用等,在本文中,我们将介绍如何在Sp... 目录引言1. 什么是 @Retryable?2. 如何在 Spring 中使用 @Retryable

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景: