Atomix是一个基于Raft协议的分布式协同框架,提供了集群管理,分布式存储等功能。其中,集群管理的一个基本功能就是集群的故障检测,也就是failure detector。下面将结合Atomix源码,分析基于Atomix的failure detector的实现机制。
ONOS中基于gRPC应用的实现
gRPC是谷歌开源的一个高性能RPC框架,支持多种语言。由于ONOS是运行在基于OSGi框架的karaf容器中,而当前官方提供的gRPC包没有OSGi化,因此若要在ONOS中实现基于gRPC的应用,需要考虑gRPC依赖的OSGi化问题。
Atomix源码分析:Raft Client的实现和与Server的交互
Atomix是一个基于Raft协议的分布式协同框架,是ONOS分布式集群和分布式原语实现的基础,Atomix提供集群的管理,通信,领导选择,Key-Value存储,以及数据分片等功能。从Atomix 2.0开始,raft协议的实现Copycat已经集成到Atomix了,下面将结合Atomix 2.0对Atomix源码进行分析,从而深入理解Raft协议的原理和Atomix的工作机制。(更新中~)
使用CBench测试控制器性能及控制器性能调优总结
CBench是一个基于OpenFlow协议的控制器性能测试工具,由于笔者在控制器开发过程需要测试控制器的性能,因而研究了CBench的相关代码,并做了一些开发和优化。下面是笔者使用CBench测试控制器性能及控制器性能调优总结。
Kryo序列化及其在ONOS中的应用
Kryo是一个快速高效的Java序列化框架,旨在提供快速、高效和易用的API。无论文件、数据库或网络数据Kryo都可以随时完成序列化。Kryo还可以执行自动深拷贝(克隆)、浅拷贝(克隆)。这是对象到对象的直接拷贝,而不是对象->字节->对象的拷贝。