[英]I want to build a decentralized, reddit-like system using P2P. What existing p2p library should I base it on?
我想使用P2P构建一个分散的,类似reddit的系统。 基本上,我希望保留reddit的基本功能,但要使其分散,以使其更加强大并且不受审查。 这也将允许人们开发不同的客户端以匹配他们想要浏览它的方式。
你能推荐一些优秀的p2p库作为我的工作吗? 它们应该是开源的,跨平台的,强大且易于使用的。 我不太关心语言,我可以适应。
免责声明:警告,自我推销!!!
您是否考虑过JXTA的最新版本 ? 它可能足以满足您的需求。 另外,我们正在开发一个名为Chaupal的新P2P框架,但它还没有运行。
编辑
还有我称之为快速和脏的UDP解决方案(毕竟不是那么脏,我应该把它称为最小)。
简单,易于实现,但不包括丢失的数据报,重放,无序等...(即TCP在IP堆栈级别为您解决的典型问题)。
我没有机会使用它,但Telehash似乎是为这种应用程序而制作的。 Peer2Peer应用程序在处理防火墙的限制方面面临特殊挑战......由于Telehash基于UDP,因此非常适合通过防火墙打孔 。
编辑static_rtti的评论 :
如果代码速度是一个要求libjingle需要付出很多努力,但主要是面向XMPP
。 您可以移除部分ICE代码,至少可以进行打孔。 有关其实现的详细信息,请参阅libjingle体系结构概述 。
查看CouchDB。 它是一个使用HTTP API的分散式Web应用程序平台。 人们已经用它来创建“CouchApps”,它是基于CouchDB的分散式应用程序,可以将病毒性质传播到其他CouchDB服务器。 编写CouchApps所需要知道的只是Javascript并学习CouchDB API。 您可以阅读这本免费的在线书籍以了解更多信息: http : //guide.couchdb.org
CouchDB的秘诀是Master-to-Master复制协议,它允许信息像病毒一样传播。 当我参加第一届CouchConf时,他们通过举办“沙发派对”(这是一个充满了复制到他们旁边的人模仿ad hoc网络的人的房间)来证明这是多么有效率。
此外,使CouchApp工作的所有代码默认公开在称为设计文档的特殊实体中。
PS我一直在考虑做一个类似的项目,但我现在没有太多时间专注于它。 上帝加速我的男孩!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.