raft设置结构体的建议(6.824)
Raft Structure Advice
A Raft instance has to deal with the arrival of external events
(Start() calls, AppendEntries and RequestVote RPCs, and RPC replies),
A Raft instance has to deal with the arrival of external events
(Start() calls, AppendEntries and RequestVote RPCs, and RPC replies),
If you are wondering how to use locks in the 6.824 Raft labs, here are
some rules and ways of thinking that might be helpful.
在现有的需求中,因业务需求还在扩充,使得前期搜集需求的过程中,很难完整的穷尽所有的处理逻辑。此时,需要一种技术,能够做到后期补充操作逻辑。在完成整体开发后,由其他开发人员进行扩展,由此,其他开发人员将无需更改应用程序的代码,更不至于重新编译整个应用程序。
在Go语言中,已知的插件系统中,可有三种选项:Hashicorp
go-plugin,内置plugins
软件包,以及Go Javascript解释器。
首先Go Mod最好设置Goproxy,这样可以解决很多包拉取的问题:
1 | go env -w GOPROXY="https://goproxy.cn,direct" |
在对Go-Micro库改造中,碰到了一个nil与interface比较的问题。现象是我返回的接口是nil,返回值是另一个接口接收,在函数外,与nil进行比较,其竟然不为nil。
基于我对网上搜索过后的结果,大多数对Micro的测试都是基于V1版本的,当然V1版本的性能也确实拉跨,被吊打的不得了,那V2版本是否有相应的进步呢?这点没有在网上搜索到,那就只能自己动手改造一个了。