一句话重点,去中心,没监管,自己对自己信息做主,没人随便删你消息的分布式社交应用 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. 关于eclipse安装springide的记录

    近些天,又开始学习springmvc,使用eclipse进行开发,由于很多快捷键时候需要安装springide插件才能出来,我遇到配置DispatcherServlet,结果alt+/出不来Dispa ...

  2. cassandra 鉴权

    1. 修改cassandra.yaml配置文件.启用用户密码登录形式. authenticator: PasswordAuthenticator authorizer: CassandraAuthor ...

  3. QPS/TPS简介

    系统吞度量要素 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高,外部系统接口.IO影响速度越慢,系统吞吐能力越低,反之越高 ...

  4. 使用Netbeans内置的Git工具

    在 NetBeans IDE 中使用 Git 支持 NetBeans IDE 为 Git 版本控制客户端提供支持.通过利用 IDE 的 Git 支持,您可以从 IDE 内的项目中直接执行版本控制任务. ...

  5. UVA - 658 最短路

    思路:通过前后两种状态建立一条边,利用Dijsktra就可以做了. 注意利用二进制优化. AC代码 #include <cstdio> #include <cmath> #in ...

  6. python 爬取糗事百科 gui小程序

    前言:有时候无聊看一些搞笑的段子,糗事百科还是个不错的网站,所以就想用Python来玩一下.也比较简单,就写出来分享一下.嘿嘿 环境:Python 2.7 + win7 现在开始,打开糗事百科网站,先 ...

  7. vue项目中对axios的二次封装

    近来在使用vue重构公司m站时,使用了axios来进行数据的请求,由于项目的需要,对axios进行了二次封装,点击进入axios //引入axios import axios from 'axios' ...

  8. Android自定义Seekbar滑动条,Pop提示跟随滑动按钮一起滑动

    由于项目需要做出此效果,自定义写了一个. 效果图 思路: 原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件. 代码: 在values文件夹下新建attr ...

  9. 硬盘分区表格式GUID和MBR知识普及

    我们的电脑硬盘分区格式一共有两种,一种是GUID(GPT),一种是MBR 如果你的电脑原装系统是win8或者以上的,那么他的硬盘分区表格式为GUID(GPT)格式的:如果是win7以下的,那么一般就是 ...

  10. jsp页面报错(一)

    jsp页面报错 1.错误位置 <form action="../page/areaType.action" method="POST"> <j ...