Apache Geode(三):Geode的拓扑和通信

Apache Geode允许水平和垂直缩放

  • 所有系统的核心是单一的P2P分布式系统。
  • 在C/S系统中,少数服务器进程为更大的客户机组管理数据和事件处理。
  • 在多站点系统中,几个不同地理位置的系统松散地耦合到单个有凝聚力的处理单元中。

准备:

  • 确定协议(TCP和UDP单播和多播的组合)和地址(绑定地址或在IPv4和IPv6之间选择)
  • 设立会员和沟通

P2P配置及其发现机制

配置P2P发现

gemfire.properties配置文件中可以列出定位器:

locators=[],[]

如果要运行独立成员,该配置文件禁用locators:

locators=
mcast-address=                    
mcast-port=0

配置P2P通信

将常规消息设置为使用TCP或UDP单播,在gemfire.properties文件中:

disable-tcp=false

或者使用UDP单播

disable-tcp=true

使用UDP多播且分发到任何region

mcast-address=
mcast-port=

在cache.xml中,为每个需要多播的区域启用多播:

 

每个缓存实例或成员直接与分布式系统中的每个其他成员进行通信,一个典型的例子是一个应用程序服务器集群,其中应用程序和高速缓存位于同一位置并共享相同的堆。


Apache Geode(三):Geode的拓扑和通信_第1张图片
P2P.png

成员使用一个或多个定位器发现彼此。定位器提供发现和负载均衡服务。P2P定位器管理分布式系统成员的动态列表。新成员连接到其中一个定位器以检索用于加入系统的成员列表。一个成员一次只能属于一个分布式系统。一旦彼此找到了对方,成员之间直接沟通,独立于发现机制。在P2P发现中,Geode使用成员协调员来管理成员加入和离开。


Apache Geode(三):Geode的拓扑和通信_第2张图片
peer discovery.png

C/S配置及其发现机制

此结构是垂直扩展的模型,Client通常在应用程序进程空间中托管一小部分数据,然后委托给服务器系统。客户机/服务器体系结构本身与点对点相比,提供了更好的数据隔离性,高提取性能和更高的可伸缩性。如果数据分发会给网络带来很大负担,那么客户机/服务器体系结构通常会提供更好的性能。在任何客户机/服务器安装中,服务器系统本身就是一个P2P系统,数据在服务器之间分配。Client系统有一个连接池,它用来与服务器和其他Geode成员进行通信。Client也可能包含本地缓存。

Apache Geode(三):Geode的拓扑和通信_第3张图片
CS.png

定位器持续监视服务器可用性和服务器负载信息,随时为Client提供负载最轻的服务器的连接信息。

为了提高性能和缓存一致性,Client必须以独立成员身份运行,或者以不同于其服务器的分布式系统运行。

Apache Geode(三):Geode的拓扑和通信_第4张图片
CSD.png

多站点配置及其发现机制

适用于水平缩放,跨地域,每个站点都是P2P或C/S系统。


Apache Geode(三):Geode的拓扑和通信_第5张图片
多站点.png

发现机制

在多站点(WAN)配置中,Geode集群使用定位器来发现远程Geode集群以及发现本地Geode成员。WAN配置中的每个定位器唯一地标识其所属的本地群集,并且还可以标识远程Geode群集中的定位器,以便将它连接到WAN分配。定位器启动时,它会联系每个远程定位器,以交换有关远程群集中可用定位器和网关接收器配置的信息。除了共享有关其自己的群集的信息之外,定位器还共享从其他所有连接的群集获得的信息。每当新的定位器启动或现有的定位器关闭时,更改的信息将通过广域网广播到其他连接的Geode群集。locator相当于粘合剂的角色,将集群中所有的成员连接在一起。

程序媛小白一枚,如有错误,烦请批评指正!(#.#)

你可能感兴趣的:(Apache Geode(三):Geode的拓扑和通信)