最近研究学习的开源项目

# 1 Weedfs
weed-fs,全名Seaweed-fs,是一种用golang实现的简单且高可用的分布式文件系统。该系统的目标有二:

- 存储billions of files
- serve the files fast

weed-fs起初是为了搞一个基于Fackbook的Haystack论文的实现,Haystack旨在优化Fackbook内部图片存储和获取。
后在这个基 础上,weed-fs作者又增加了若干feature,形成了目前的weed-fs。
Weed-FS 是一个简单和高可伸缩的分布式文件系统,用于快速存储大量的文件。Weed-FS 不支持 POSIX 文件系统,使用 key~file 映射结果,因此也叫 NoFS。

* 首页 github.com/chrislusf/seaweedfs

分布式存储 WeedFS 源码分析
http://www.qixing318.com/article/853901115.html

# 2 protobuffer
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。

http://www.cnblogs.com/stephen-liu74/archive/2013/01/02/2841485.html

Google Protocol Buffer 的使用和原理
https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html

# 3 ngrok
Tunnel Server 提供P2P的NAT穿透 https://github.com/inconshreveable/ngrok

# 4 leveldb

# 5 KiteQ
基于go+protobuff实现的多种持久化方案的mq框架
https://github.com/blackbeans/kiteq

* 基于zk/etcd维护发送方、订阅方、broker订阅发送关系、支持水平、垂直方面的扩展
* 基于与topic以及第二级messageType订阅消息
* 基于mysql、文件存储方式多重持久层消息存储
* 保证可靠异步投递
* 支持两阶段提交分布式事务
* 自定义group内的Topic级别的流控措施,保护订阅方安全
* kiteserver的流量保护
* 客户端连接上报系统预热时间,根据预热时间逐步放量推送消息
* Client Supported:Java、Go、CPP、PHP

时间: 2024-12-07 21:31:53

最近研究学习的开源项目的相关文章

go语言值得学习的开源项目推荐

谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也有大型如nsq.docker等的项目. 下面推荐几款适合学习的项目: 1.cache2go https://github.com/muesli/cache2go 比较简单的一个缓存库,代码量很少,适合新手学习,可以学习到锁.goroutines等. 2.groupcache https://gith

学习Coding-iOS开源项目日志(二)

前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不 错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了新的什么东西?本人愚拙,而且码龄不多,也就三年左右,水平不高,如有挫解,还望指正. 本人乐爱学习,乐于分享,广结良缘,愿意交流.当然,高手可以飘过. Coding-iOS项目网址:https://github.com/Coding/Coding-iOS 读者感兴趣的可以自己去下载,当然项目很多第三

学习Coding-iOS开源项目日志(四)

Hello,大家好,好久没写博客了,今天再次来研究研究Coding源码,久违了. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不 错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了新的什么东西?本人愚拙,而且码龄不多,也就三年左右,水平不高,如有挫解,还望指正. 本人乐爱学习,乐于分享,广结良缘,愿意交流.当然,高手可以飘过. Coding-iOS项目网址:https://github.co

学习Coding-iOS开源项目日志(一)

前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了新的什么东西?本人愚拙,而且码龄不多,也就三年左右,水平不高,如有挫解,还望指正.本人乐爱学习,乐于分享,广结良缘,愿意交流.当然,高手可以飘过. Coding-iOS项目网址:https://github.com/Coding/Coding-iOS 读者感兴趣的可以自己去下载,当然项目很多第三方框

如何更有效学习php开源项目的源码

一.先把源代码安装起来,结合它的文档和手册,熟悉其功能和它的应用方式. 二.浏览源代码的目录结构,了解各个目录的功能. 三.经过以上两步后相信你对这个开源的产品有了一个初步的了解了,那现在就开始分析它的源码吧.这一步我们开始分析源代码框架.例如入口方式是单入口还是多入口,页面之间的调用规则,能根据规则找出某个功能用到的页面. 四.熟悉源代码的代码写作风格,例如缩进方式,排版格式等. 五.熟悉一下源代码用到的数据库和表,可以参考它的技术支持文档. 六.经过以上几步相信大家已经对这份源代码有了更深刻

Android 学习之 开源项目PullToRefresh的使用

首先 下载 Android-PullToRefresh-master 下载地址  https://github.com/chrisbanes/Android-PullToRefresh 下载之后将其解压 如今  我们用eclipse 创建一个项目取名PullToRefresh 将上面的library 引入我们的项目 引入成功之后打开项目的project.properties文件我们能够看到 android.library.reference.1=../Android-PullToRefresh-

学习Android开源项目-根据知乎日报API分析重构一个简单的知乎日报Android客户端

从今天开始准备开始根据之前学习的知乎日报纯净版来实现一个自己的知乎日报客户端. 每次写完的代码都会更新在Github上,每次完成一个既定目标,完成之后当天完成目标的检查并根据错误进行最优化重构. 项目地址:https://github.com/wylhyz/ZhihuDialyPrue

spring 学习的开源项目

http://jinnianshilongnian.iteye.com/blog/1508016 http://jinnianshilongnian.iteye.com/blog/2049092 springside springside:是以Spring Framework为核心的,Pragmatic风格的JavaEE应用参考示例,是JavaEE世界中的主流技术选型,最佳实践的总结与演示. springrain springrain:springrain是spring的极简封装,spring一

转: 学习开源项目的若干建议(infoq)

转: http://www.infoq.com/cn/news/2014/04/learn-open-source 学习开源项目的若干建议 作者 崔康 发布于 2014年4月11日 | 注意:GTLC全球技术领导力峰会,500+CTO技聚重新定义技术领导力!1 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 随着国内开源社区和项目的不断发展,学习.应用.贡献开源项目的开发人员越来越多.最近,研究过多个开源项目(包括KVM/QEMU.libvirt.