hidden-interview-village
- 项目概述:该项目借鉴了MIT6.824公开课的课程项目,旨在使用C++实现分布式kv存储系统。
- 应用技术:使用C++编程语言,涉及多线程、protobuf以及gRPC。
- 主要工作:首先参考了公开课6.824的讲义和提供的Go语言代码框架。然后,采用C++语言实现了Raft算法,其中包括选举机制、日志复制、持久化以及快照四个关键部分。随后,项目着重实现基于Raft算法的KV数据库。通过这些工作,成功构建了分布式kv存储系统。
- 学习收获:学习了分布式的基础理论,重点学习了Raft共识算法。学习了grpc框架的使用方法。提升了调试和测试技巧。
- 项目概述:本项目是参考开源项目Muduo,旨在动手实现Muduo网络库的功能。
- 应用技术:使用C++编程语言,涉及多线程、事件驱动编程、epoll以及Reactor模型。
- 主要工作:项目首先对Muduo源码进行深入研究和反复阅读,以分析Muduo的组成部分。接着实现了工具类,例如日志类、线程池等。随后实现Muduo的三大核心组件:EventLoop、Channel和Poller。最后完成TcpConnection和TcpServer,将各个组件串联起来。
- 学习收获:巩固了网络编程的基础知识。掌握阅读开源代码的方法。加深了对事件驱动异步编程的理解,还深入学习了对IO多路复用以及Reactor模型。