[分享创造] 开源一个类微博 twitter 的网站

标签: 分享 创造 开源 | 发表时间:2020-01-23 21:13 | 作者:coyove
出处:https://www.v2ex.com/

网址: https://sserr.net

代码: https://github.com/coyove/iis

之前的发布: https://v2ex.com/t/628871

时隔一个多月,当初的 todo 基本上都清掉了,代码也重构到了开源出去也不会太丢人的程度 XD。

总的来说这是一个类微博的系统,提供了大部分你所熟知的微博功能。时间线合并( timeline merging )采用读扩散,所以可以轻松的支持热点用户推文分发至海量 follower 的情况。回复 /@/收藏等则是写扩散。

后端采用纯 KV 形式存储,目前有两种实现( dynamodb 和基于本地文件系统)。KV 不要求事务支持,所以理论上任何支持 set(k, v)和 get(k)的 IO 都可以用作存储驱动。( dynamodb 会有 stale read,要解决这个问题需要本地缓存,如 redis )

由于该架构设计特点,(以 dynamodb 为例)当一个账户 follow 的其他账户数目超过 10000 时合并延迟和性能会受比较大影响。但在另一方面,时间线合并的负担绝大部分在客户端,所以对于后端来说没有任何压力。

相关 [分享 创造 开源] 推荐:

[分享创造] 开源一个类微博 twitter 的网站

- - V2EX
网址: https://sserr.net. 代码: https://github.com/coyove/iis. 之前的发布: https://v2ex.com/t/628871. 时隔一个多月,当初的 todo 基本上都清掉了,代码也重构到了开源出去也不会太丢人的程度 XD. 总的来说这是一个类微博的系统,提供了大部分你所熟知的微博功能.

Vagrant作者分享开源体会

- - InfoQ cn
Mitchell Hashimoto是一名开源软件工程师, Vagrant项目的作者, Vagrant是一个用Ruby实现的用于构建虚拟化开发平台的工具. 如今 Vagrant已经被无数人使用,并成功获得了两个赞助商做收费技术支持. Mitchell在其博客上,分享了开发开源软件的 经验和心得,这里不仅仅是技术,还有如何做一个好的开源项目维护者,以及如何推广自己的产品.

[分享创造] 推荐一个 SpringBoot API 文档生成工具

- - V2EX
修复了很多大家提出来的问题,应该稳定了不少,可以稍微放心推荐给大家了. 它是一个开源的 SpringBoot API 文档生成工具,无需额外注解,轻松集成. 目前有 800+star,已经有不少小伙伴在使用了,并且有一个活跃的微信反馈群. 如果你已经厌烦 Swagger 满屏的注解和额外的工作量,你不妨一试.

[分享创造] 看到有人讨论亚健康的问题,分享一些个人锻炼的经验

- - V2EX
下面的方法是没有去健身房,自己在家,没有器材时的方法. 个别动作可以考虑买个瑜伽垫,因为在汗水到床上还需要洗床单的. 一定要吃主食,也可以适量用薯类或者其他谷物代替. 2.蔬菜可以不限量,水果少食糖分多的. 苹果、红薯、玉米等粗粮比较不错. 吃的话可以试一下全麦面包或者坚果之类的. 4.不要特意去补充蛋白质,不吃动物油,动物脂肪,肥肉之类.

[分享创造] 可能是 iOS 上最好用的电视直播软件

- - V2EX
因为平时喜欢看电视,在 app store 上又找不到适合的,就想着自己造个轮子,临时抱佛脚学了三天 iOS 开发,写了个 app. 1.自己添加管理 m3u8 直播源,这个没什么好说的,适合动手能力强的. 2.订阅列表,订阅后,只要负责维护列表的大神列表更新,用户的列表就会自动更新. 目前我自己维护了 4 个列表,加起来频道大概六七十个.

[分享创造] 一个使用 Flask+gorse 实现的 Steam 游戏推荐系统

- - V2EX
之前小弟在 V2EX 推广过 一个 Go 语言实现的 RESTful 的推荐系统后端,最近以它为后端,使用 Flask 实现了一个 Steam 推荐系统,发在 V2EX 听取一下老哥们的意见. 关于工程量:因为 gorse 完成了大部分的逻辑,所以 Python 代码也就一百多行. 前端用的是 Materialize,后端用的是 Flask.

Syncany : 开源云存储及文件分享工具

- 亚 强 - Wow! Ubuntu
Syncany 是一个开源的云存储及文件分享工具,灵感来源于 Dropbox 和 JungleDisk. 并且所有的数据都是经过本地加密后上传的,保障了安全性. Syncany Launchpad 页面: https://launchpad.net/syncany. Syncany 主页 : http://www.syncany.org/.

重启开源,分享无限--微软面试187题精选

- Feng - 结构之法 算法之道
                      重启开源,分享无限--诚邀你加入微软面试187题的解题中.     我想,只要是稍微浏览过我博客的朋友都知道,本博客内总体上大致分为两个部分的内容:1、算法(如十六个经典算法研究系列);2、面试与编程(涉及到微软面试100题系列,程序员编程艺术系列,海量数据处理面试题集锦等等).

分享一个简单易用的RPC开源项目—Tatala

- - 开源软件 - ITeye博客
这个项目最早(2008年)是用于一个网络游戏的Cache Server,以及一个电子商务的Web Session服务. 后来不断增加新的功能,除了Java还支持C#,到现在已经可以用它来开发网络游戏的服务器. 等过些日子我还会开源网络游戏的服务器源码. 关于性能,当时后台相应请求的效率是每秒10W次,现在我在自己的笔记本上测,只有一个客户端与服务器都在一个物理机上(CPU: i7-3610QM; RAM: 8G; OS: Win7-64),每秒相应12000个请求.

分享两个 Android 开源项目和一个 Doc

- - Trinea
这是首发在我维护的微信公众号 codeKK 上的文章,欢迎大家关注. Android 傻瓜式分包插件. 这是一个可自定义哪些类放在 MainDex 中的插件. ReadMe 中详细介绍了在使用 MultiDex 时,为了解决 MainDex 方法数超标的问题,碰到的一个个坑及如何解决,并列出了详细的参考资料,一篇很不错的文章.