天天看点

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

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

发布内容的入口

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

signalPublish 的很简单

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

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

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

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

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

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

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

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

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

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

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

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

private static ConcurrentMap<String, Datum> datums = new ConcurrentHashMap<String, Datum>();
           

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

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

Nacos—— Raft 如何发布内容在上一篇介绍如何选举后,发布内容就相对简单很多了。onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。内存的缓存其实就是一个ConcurrentHashMap之前也说到这个term很重要,那么自然是要持久化到文件了。

继续阅读