https://github.com/dongjinyong/Gossip
Java实现的Gossip协议,借鉴CassandraV1.1.1源码
https://github.com/dongjinyong/Gossip
Last synced: 9 days ago
JSON representation
Java实现的Gossip协议,借鉴CassandraV1.1.1源码
- Host: GitHub
- URL: https://github.com/dongjinyong/Gossip
- Owner: dongjinyong
- Created: 2012-10-10T10:12:32.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2012-10-12T10:35:00.000Z (over 13 years ago)
- Last Synced: 2023-10-20T19:24:54.684Z (over 2 years ago)
- Language: Java
- Size: 160 KB
- Stars: 45
- Watchers: 5
- Forks: 29
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-java - Gossip
README
Gossip
======
Java实现的Gossip协议,基于CassandraV1.1.1源码修改实现(尽量保留了Cassandra源码),把Cassandra中Gossip协议相关部分抽取了出来,供大家参考。
目录结构与cassandra源码一致,以下为目录说明:
concurrent:并发包工具类.
config:配置信息.
gms:gossip的核心实现类.
io:序列化相关.
locator:事件监听器和seed接口.
net:通信相关,采用传统的BIO方式,可根据项目需要换成自己的通信服务层.
service:供外部调用的方法,gossip协议使用方法实例程序.
utils:工具类.
对Cassandra源码的修改主要包括:
1. InetAddress换成InetSocketAddress,可以为每个实例指定不同的端口,方便本机启用多个实例调试。
2. 去掉了与cassandra业务耦合的一些类和方法,对监听器接口做了简化。
3. 简化通信部分,如果项目需要,或者有独立的通信服务代码,直接替换net目录下的类或接口即可。
具体使用方式请看readme.txt