Go的Context包解析
context包提供了以下功能:传递 Key-Value 值、取消信号、超时时间。由于 context 可以被安全的传递给任意数量的 goroutine,context 常被用于控制并发操作。
context包提供了以下功能:传递 Key-Value 值、取消信号、超时时间。由于 context 可以被安全的传递给任意数量的 goroutine,context 常被用于控制并发操作。
本文为小徐先生文章温故知新——Golang GMP 万字洗髓经的笔记,仅为粗浅记录。
G:goroutine 是 Go 中对协程的抽象。G 有自己的生命周期、运行栈、执行的函数。
本次实验为实现Raft中的选举部分,在实现时除了要完全按照论文的Figure2实现节点状态以外。在实际编写代码时,以下部分曾经困扰了我,现在总结如下:
在开始之前,必须指出 RAFT 不是具体的分布式系统设施,比如 GFS 和 VM-FT 就是提供具体功能的分布式设施。RAFT 是一种算法,它可以应用在具体的分布式系统中以维护容错性并保持一致性。
两阶段提交是一种原子提交协议,用于确保分布式事务的原子性(要么全部执行,要么全部不执行)。它主要包含两个阶段: