博客
关于我
Nacos—— Raft 如何发布内容
阅读量:73 次
发布时间:2019-02-26

本文共 448 字,大约阅读时间需要 1 分钟。

在上一篇介绍如何选举后,发布内容就相对简单很多了。

发布内容的入口

signalPublish 的很简单

如果自己不是leader就转发给leader

如果自己是leader,就向所有节点发送onPublish请求,注意这里是所有的节点,包括自己。

所以其实还是看onPublish的逻辑了

onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。

当然还是就是更新内容了,先写文件,再更新内存缓存。

可以看到写文件的时候,一个key就是一个文件,文件的内容就是value这个json

内存的缓存其实就是一个ConcurrentHashMap

private static ConcurrentMap
datums = new ConcurrentHashMap
();

RaftCore.datums.put(datum.key, datum);

之前也说到这个term很重要,那么自然是要持久化到文件了。

 

 

转载地址:http://jsg.baihongyu.com/

你可能感兴趣的文章
mysql的引擎以及优缺点_MySQL有哪些存储引擎,各自的优缺点,应用场景-阿里云开发者社区...
查看>>
MySQL的操作:
查看>>
mysql的数据类型有哪些?
查看>>
mysql的语法规范
查看>>
MySql的连接查询
查看>>
mysql的配置文件参数
查看>>
MySQL的错误:No query specified
查看>>
mysql监控工具-PMM,让你更上一层楼(上)
查看>>
mysql监控工具-PMM,让你更上一层楼(下)
查看>>
MySQL相关命令
查看>>
mysql社工库搭建教程_社工库的搭建思路与代码实现
查看>>
Warning: Can't perform a React state update on an unmounted component. This is a no-
查看>>
mysql笔记 (早前的,很乱)
查看>>
MySQL笔记:InnoDB的锁机制
查看>>
mysql第一天~mysql基础【主要是DDL、DML、DQL语句,以及重点掌握存存引擎、查询(模糊查询)】
查看>>
mysql第二天~mysql基础【查询排序、分页查询、多表查询、数据备份与恢复等】
查看>>
MySQL简介和安装
查看>>
MySQL简单查询
查看>>
MySQL管理利器 MySQL Utilities 安装
查看>>
MySQL篇(管理工具)
查看>>