成都网站建设设计

将想法与焦点和您一起共享

IgnitePartition笔记-创新互联

数据复制机制: 客户端根据HASH算出主节点,数据只从客户端发到主节点
GridNearAtomicSingleUpdateFuture.mapOnTopology
GridNearAtomicSingleUpdateFuture.map
GridNearAtomicAbstractUpdateFuture.sendSingleRequest
GridCacheIoManager.send

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、三沙网络推广、成都微信小程序、三沙网络营销、三沙企业策划、三沙品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供三沙建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

当数据复制到主节点时,再从主节点复制到其他节点
GridDhtAtomicCache.updateAllAsyncInternal
GridDhtAtomicAbstractUpdateFuture.map
GridDhtAtomicAbstractUpdateFuture.sendDhtRequests
GridCacheIoManager.send

每当集群拓扑改变时候会重新计算主节点
GridCachePartitionExchangeManager.onDiscoveryEvent
GridDhtPartitionsExchangeFuture.onClusterStateChangeRequest/onCacheChangeRequest/onAffinityChangeRequest/
CacheAffinitySharedManager.applyx
GridAffinityAssignmentCache.calculate
AffinityFunction.assignPartitions

IGNITE 采用 Rendezvous hash 算法,计算每个节点的权重, 只要集群视图一致,那么客户端服务端都应用这种算法,找出权重最高的N个节点,
作为主节点和复制节点
RendezvousAffinityFunction:
为每个PARTITION 分配多个集群节点,PARTITION数量为参数传入RendezvousAffinityFunction,默认1024. 分配的结果表示这个PARTITION的数据应该落在哪些节点上
为每个集群节点计算HASH: 值为节点的CONSISTENTHASHID 对 当前的PARTITION取模,
将HASH排序,然后取前N个节点,N为每个PARTITION最终需要复制到的节点,取决于BACKUP的数量,是否EXCLUDE NEIGHBOR等选项
计算 KEY属于哪个PARTITION: 分配的结果存在GridAffinityAssignment中

GridCacheContext.allowFastLocalRead 中有一个方法判断是否可以从本地快速读取:
topology().partitionState(localNodeId(), part) == OWNING

GridCacheContext.toCacheKeyObject 方法将 key 转化为KeyCacheObject, 并分配partition, 参考 IgniteCacheObjectProcessorImpl.partition

读数据:
GridPartitionedSingleGetFuture.mapKeyToNode 方法获取从哪个节点读取数据
内部调用GridCacheAffinityManager.partition 和GridCacheAffinityManager.nodesByPartition
然后默认从获得NODE 列表的第一个读取数据

新的节点加入后会自动重新REBLANCE数据
CacheAffinitySharedManager.onServerJoin
CacheAffinitySharedManager.initAffinityOnNodeJoin

检查rebalance 是否完成 CacheAffinitySharedManager.checkRebalanceState

Partition 的状态 MOVING, OWNING, RENTING, EVICTED, LOST
OWNING 表示分区属于主节点
RENTING 表示拓扑结构改变以后

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:IgnitePartition笔记-创新互联
文章路径:http://chengdu.cdxwcx.cn/article/dejpdg.html