`
dary_zhou
  • 浏览: 39347 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

EOS6 集群的原理介绍和配置

    博客分类:
  • EOS
阅读更多
集群中的节点的数据同步的过程中,会相互发送通知,这是利用UDP协议的IP多播来实现的。IP多播是一台主机一次同时发送单一的数据包到多台主机的TCP/IP通讯网络技术。IP多播通信必须依赖于IP多播地址,在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255。使用同一个IP多播地址接收多播数据包的所有主机构成了一个主机组,也称为多播组。任何一个主机,都可以向多播组发送数据包(UDP的数据报),多播组内的所有主机都可以收到这个信息。

实际上,真正的多播地址包含两部分,多播用IP地址和一个端口号,如 225.1.1.1:6280 就是一个组合,构成一个唯一的多播地址,配置有相同多播地址的节点(如缓存)就能收到发送方发往这个地址的UDP数据(即数据报,Datagram)。集群中的节点间相互通知就是利用这个原理实现数据通讯的。

在集群的底层实现中,采用了JGroups的技术,JGroups在多播的地址上,又增加了一个过滤条件,就是通道(channel),每一个通道要取一个唯一的名称,称为通道名称。配置有相同多播地址,并且通道名称一致的节点,才构成一个JGroups集群通道。也就是说,构成一个JGroups集群通道的唯一标志是:"多播IP + 端口 + 通道名"。

安装完EOS服务器后,每个应用可以看成是一个集群的节点,应用的系统变量配置中缺省配置了McastAddr和McastPort ,代表了多播的IP地址和端口号,如果用户不更改的话,所有EOS应用都是一致的,下面就看通道名称了。系统变量的ChannelName默认没有配置,这是为了使用默认的通道名称生成规则,规则如下:

EOSDomain_管理服务器IP:管理服务器管理端口号, 如EOSDomain_192.168.1.25:6080。

这样,一个EOS域中的所有服务器中的应用都在一个统一大的集群环境下,能收到相互发送的集群通知。因为一个域只有一个管理服务器,因此一个域中的所有服务器的通道名称是一致的。如果用户改掉缺省的多播地址配置,或改掉通道名称,则会形成另一个集群环境。

由于配置了多播地址和端口的节点都会收到通知,只是JGroups通过通道名做了一次过滤,所以,缺省EOS安装的情况下,处于不同域的服务器也会相互收到通知(因为多播地址设置是一样的),这同样会增加JGroups的底层通知的过滤开销,为降低开销,用户可以单独为一个集群配置多播地址和多播端口,这样,从最底层的UDP协议就收不到其他节点发来的消息了。

当然,用户也可以只配置通道名,配置了通道名,就不使用默认的通道名称,这样也可以形成一个单独的集群环境,但JGroups的通道过滤开销仍然没有消除。

如果在一个网络环境下安装的EOS服务器不多的话,缺省的集群配置一般就可以满足集群的负载需要了,用户可以不用另行配置。

那么,不同的缓存之间的数据又是如何同步的呢?

EOS缺省建立了三个系统缓存,业务字典缓存、服务注册信息缓存和在线用户缓存,分别用来存放业务字典数据、用于客户端访问的服务注册信息、登陆系统的用户信息。Governor还提供了用户创建自己的业务数据缓存的功能。不同的缓存接收到的通知数据不能混乱,否则就可能造成业务缓存A中的数据错误同步到缓存B中,那就乱套了。

为了区分不同的缓存数据,EOS又增加了一层过滤条件,就是集群名称,在Governor的缓存配置中,我们可以看到有集群名称这个属性(但缺省是空的)。当缓存的集群名称不填写时,系统使用默认规则为每个缓存定义了一个集群名称,规则是:

对应组中服务器的应用:组名:应用名:缓存名
对独立服务器中的应用:服务器名称:应用名:缓存名
因此,只有在相同多播地址和端口、相同通道名且相同集群名称的缓存,才能互相接收到各自的集群通知,以便进行集群的数据同步,这就是缓存的集群同步的原理。总结一下,构成一个缓存的集群的唯一标志是:"多播IP + 端口 + 通道名 + 集群名称"。

如果是组的应用,配置缓存的时候,缓存就自动支持集群的(支持集群的选项被勾选)。如果是独立服务器的应用,配置缓存默认是不支持集群的,用户可以勾选"支持集群"选项,让其支持集群,这时候,需要填写集群名称(如果不填写,使用默认的集群名称,是无法和其他独立服务器构成一个集群的)。另外一个选择是填写多播地址和多播端口,如果不填写,默认使用应用配置的多播地址和端口,如果填写,则缓存使用自己的多播地址和多播端口。

对组中的应用的缓存,也可以修改集群名称,不使用默认的集群名称,这样,缓存的数据同步就和组没有关系了。你可以任意配置成这个组应用的缓存和其他组应用或其他独立服务器的应用的缓存进行集群同步。

分享到:
评论

相关推荐

    【疾病分类】 GUI SVM大脑疾病(脑瘤)和神经疾病(动脉瘤)分类【含Matlab源码 4093期】.zip

    【疾病分类】 GUI SVM大脑疾病(脑瘤)和神经疾病(动脉瘤)分类【含Matlab源码 4093期】

    【图像边缘检测】小波变换图像边缘检测【含Matlab源码 4142期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    HC200-10标定版描述文件及标定版ps文件

    HC200-10标定版描述文件及标定版ps文件

    【图像融合】双树复小波变换像素级图像融合【含Matlab源码 2024期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    顾客模具验收鉴定报告.doc

    顾客模具验收鉴定报告.doc

    2020年度SaaS企业 TOP100.docx

    2020年度SaaS企业 TOP100.docx

    9培训申请单.xls

    9培训申请单.xls

    23数据技术 森林火灾预测系统 高品琦 商业计划书.docx

    23数据技术 森林火灾预测系统 高品琦 商业计划书.docx

    【图像重建】离散余弦变换DCT图像重建(MSE、PSNR、压缩比)【含Matlab源码 2403期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    风险与机会评价与应对策划表.xls

    风险与机会评价与应对策划表.xls

    31客户满意度汇总表.xls

    31客户满意度汇总表.xls

    【图像融合】 DSIFT多聚焦图像融合【含Matlab源码 2224期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像压缩】奇异值分解SVD灰色图像压缩(可设置压缩比)【含Matlab源码 4358期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像分割】全局和局部多特征融合的红外图像分割主动轮廓模型【含Matlab源码 4024期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【车牌识别】 GUI BP神经网络车牌识别(带面板)【含Matlab源码 858期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于 YOLOv5 的对象检测算法的系统

    与大学团队合作,设计一个包含 Raspberry Pi、摄像头模块和基于 YOLOv5 的对象检测算法的系统。• 开发了能够识别和分类各种交通标志的实时交通标志检测和分类系统

    python读取excel到数据库中,简单的数据库管理脚本

    python读取excel数据 python读取excel到数据库中,简单的数据库管理脚本

    成本中心领(退)料单.XLS

    成本中心领(退)料单.XLS

    【图像融合】高分辨率全色图PCA图像融合(含评价指标)【含Matlab源码 2407期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像去噪】非线性扩散PM算法图像去噪【含Matlab源码 2130期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

Global site tag (gtag.js) - Google Analytics