标签:style http java 使用 os io strong 数据
一、开发工具
1. 本项目使用Golang进行开发,主要有以下好处
- Golang是一种类型安全(type-safe)的语言,并且自带垃圾回收机制,避开了许多底层语言如C/C++中的陷阱
- 引入了许多轻便实用性强的数据结构,比如变长数组,字典等
- 提供了大量的包其中包括网络库,RPC等供编程者使用,使得开发效率更高
- Golang支持了一种相比传统的共享内存式的并发模型(比如Java threads)更加轻便抽象的并发模型(消息传递机制)
2. 版本控制工具采用git
3. 开发环境:sublime text2+gocode
二、概述
本项目为卡耐基梅隆大学分布式系统(CMU440)课程项目。
课程主页:http://www.cs.cmu.edu/~dga/15-440/S14/syllabus.html
源代码:https://github.com/201101050424/Project-2-Tribbler
本项目的架构共分为三层:
- client层:client层是用户交互层,它接受并解释用户提交的命令,并将它提交给appliction层
- appliction层:appliction层充当整个Tribbler系统的控制层,它充当了一个可以持久提供服务的server,每个server都有一个Libstore库,该库用来和storage层进行交互,并实现了基于租约的缓存一致性机制
- storage层:storage层提供了key/value对存储服务(类似hash表),每个storage server实现了Get、Put、GetList、AppendToList、RemoveFromList接口,并有以下特点
- 运用一致性hash原理,将存储数据分布在存储集群上
- 支持基于租约的缓存一致性机制
架构图:
![bubuko.com,布布扣](data:image/png;base64,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)
层之间通过Http RPC进行通信
三、架构阐述
1. client层:该层直接与用户交互,接受用户的提交的命令并进行解释后发送给application层,接口如下
- CreateUser:创建用户,通过RPC将userID注册到TribblerServer上
- GetSubscription:获取某用户的订阅列表
- AddSubscription:为某用户增添新的订阅用户
- AddSubscription:为某用户删除已订阅客用户
- GetTribbles:获取某用户的推文
- GetTribblesBySubscription:获取某用户订阅者的推文
- PostTribble:为某用户发布推文
2. TribblerServer层分为两部分,TribblerServer和Libstore,TribblerServer主要对client实现RPC,调用了Libstore,下面重点阐述Libstore
CMU440-P2 Tribbler(类推特的发布订阅系统)设计文档,布布扣,bubuko.com
CMU440-P2 Tribbler(类推特的发布订阅系统)设计文档
标签:style http java 使用 os io strong 数据
原文地址:http://www.cnblogs.com/woaishizhan/p/3891706.html