一句话重点,去中心,没监管,自己对自己信息做主,没人随便删你消息的分布式社交应用 mastodon。

建了一个实例, https://cncs.io 来专门讨论计算机相关信息,欢迎大家注册来玩。已有用户组的同学,可以关注一波一起玩。

以下详细科普来自知乎(https://zhuanlan.zhihu.com/p/26878606

所有人都知道 Twitter,微博 但是很少有人知道,最近一个分布式类 Twitter,微博 项目逐渐火了起来。

项目的名字叫 Mastodon(乳齿象,化石记录的长鼻类哺乳动物),代码在 tootsuite/mastodon

Mastodon 基本上复刻了 Twitter 的大多数功能,用户可以注册,登录,发 TOOT(中文译名叫,嘟嘟),转发,回复,关注并及时得到通知。像 Twitter 一样,Mastodon 也提供了非常丰富的 API,用户可以自行开发 APP,或者集成其他服务。

然而,与 Twitter 不同,Mastodon 是一个开源项目,并且允许用户创建自己的服务器,不同服务器之间的用户可以毫无隔阂地交流,这和电子邮件系统非常相似。A 服务器上注册的用户可以自由地关注 B 服务器上注册的另个用户,发 TOOT @ 他,并且及时地得到回复和通知。

目前来看,Mastodon 达到了预期的效果,旗舰服务器 mastodon.social 有超过 5 万名用户,100 多万条 TOOT。而 Pixiv 官方搭建的服务器 http://pawoo.net 有超过 14 万用户,250 多万条 TOOT。除此之外,还有其他若干大型服务器和成百上千个中小服务器。他们一同构成了 Mastodon 网络,Mastodon 网络上的用户无论注册在哪个服务器上,都可以自由地互相交流。

长期来看,Mastodon 能否进一步流行,能否达到一个更高的高度并不重要,因为一个开源的分布式项目,不会因为某台服务器,某个人,某个公司的消亡而消失,它会永远地存在于互联网上。

以下是技术介绍:

当前 Mastodon 服务由三个部分组成,用 Rails 写的 Web 和 Worker(Web 提供 网页,Worker 提供后台异步任务执行)和 Nodejs 写的 Streaming API(提供实时通知)。

服务器之间通过 PubSubHubBub 协议互相沟通。

数据库默认使用 PostgreSQL,另外需要 Redis 服务器提供 任务队列 和 缓存。

Mastodon 支持媒体文件上传到本地和 S3。

总体部署难度不高,如果使用 Docker 的话,可以在几分钟内完成部署。

去中心化类微博应用 mastodon的更多相关文章

  1. 一个轻client,多语言支持,去中心化,自己主动负载,可扩展的实时数据写服务的实现方案讨论

    背景 背景是设计一个实时数据接入的模块,负责接收client的实时数据写入(如日志流,点击流),数据支持直接下沉到HBase上(兴许提供HBase上的查询),或先持久化到Kafka里.方便兴许进行一些 ...

  2. 去中心化存储的QoS是什么?

    我的前面一篇文章讲到如何做去中化存储,文其中提到了QoS (Quality of Service),那么QoS是什么?为什么QoS那么重要?下面将详细描述. 什么是QoS? 提到QoS,就要先了解Qo ...

  3. 一种去中心化的manager设计思路

    通常,我们设计游戏引擎时,或者管理器时,都会由管理器产出各种产品,一旦有新产品要加,就要修改管理器,来增加相应的生成代码. 这从设计上来看有两个问题: 1,管理器参数需要有个类型,在管理器中用if e ...

  4. PPIO去中心化存储的了解和记录

    目录 介绍 FileCoin P2P技术给去中心化云存储的好处 剩余资源的再次使用 市场竞争会激发民间的智慧 PPIO的2种冗余模式 全副本模式 纠删副本模式 为什么PPIO要设计支付代理节点? 一些 ...

  5. 去中心化预言机如何助力NGK DeFi 项目发展?

    早在 2014 年前后,协议智能合约就已经出现了,最初协议很笨重,包含了许多不同的部分,每个部分都是一个单独的智能合约,你需要在区块链本身的协议中添加不同的智能合约,这需要几个月甚至几年的时间,而之后 ...

  6. 为什么说NGK的去中心化预言机越来越受欢迎?

    2020年区块链市场非常火热,从年初的交易所杠杆,到Defi热潮,一波连着一波,风向不断切换,很多人无奈感叹跟不上时代,很多人欢欣雀跃登上了早班车.随着Defi的不断火热,预言机也进入了大众视野.NG ...

  7. IM 去中心化概念模型与架构设计

    今天打算写写关于 IM 去中心化涉及的架构模型变化和设计思路,去中心化的概念就是说用户的访问不是集中在一个数据中心,这里的去中心是针对数据中心而言的. 站在这个角度而言,实际上并非所有的业务都能做去中 ...

  8. 小众Tox——大众的“去中心化”聊天软件

    ★Tox是什么 一个反窥探的开源项目:一种基于DHT(BitTorrent)技术的即时通讯协议:一个为安全而生的加密通讯系统 .美国棱镜计划曝光后,一个名为 irungentoo 的牛人于17天后的2 ...

  9. 一步步教你开发、部署第一个去中心化应用(Dapp) - 宠物商店

    今天我们来编写一个完整的去中心化(区块链)应用(Dapps), 本文可以和编写智能合约结合起来看. 写在前面 阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以太坊是什么除此之 ...

随机推荐

  1. Java采用内部构造器Builder模式进行对类进行构建

    好处: 能保证重叠构造器模式的安全性: 能保证JAVABeans模式的可读性: package cn.lonecloud.builder; /** * 使用内部类构建器来对这个类进行构造 * @Tit ...

  2. 学习Yii框架,有哪些比较好的网站

    1.http://www.yiiframework.com/ 2.http://www.kancloud.cn/curder/yii/247741 3.http://www.manks.top/yii ...

  3. Qt Create or VS 2015 使用 Opencv330 相机静态库链接错误如何解决?

    查看链接库,添加 vfw32.lib 即可.

  4. BZOJ2820 - 巧克力王国

    原题链接 Description 给出个二维平面上的点,第个点为,权值为.接下来次询问,给出,求所有满足的点的权值和. Solution 对于这个点建一棵k-d树,子树维护一个子树和. 如果子树所代表 ...

  5. java代码调用使用cxf搭建的webService服务传递对象

    前边成功创建好一个cxf的webServcie服务,并带了一个无参数的方法.现在进一步尝试了使用带参数的方法,分别测了用String为参数和用自定义的对象为参数. 其中,使用String为参数时和不带 ...

  6. document.forms[].submit()

    document.forms['exportServlet'].submit(); (1)document.forms:表示获取当前页面的所有表单 (2)document.forms[0]:表示获取当 ...

  7. 基于嵌入式操作系统VxWorks的多任务并发程序设计(1)――基本概念

    1引言 嵌入式系统定义义为:嵌入到对象体系中的专用计算机系统."嵌入性"."专用性"与"计算机系统"是嵌入式统的三个基本要素,对象系统则是指 ...

  8. Java中的List转换成JSON报错(一)

    1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/ ...

  9. struts2的配置文件

    struts2的配置文件 1.配置Action的struts.xml 2.配置Struts2有关属性的struts.properties

  10. directX视频播放------手动连接

    IGraphBuilder *pigb = NULL; IMediaControl *pimc = NULL; IMediaEventEx *pimex = NULL; IVideoWindow *p ...