一句话重点,去中心,没监管,自己对自己信息做主,没人随便删你消息的分布式社交应用 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. w !sudo tee %

    w !sudo tee % 该命令可用于保存有权限的写文件

  2. HDU - 2181 dfs [kuangbin带你飞]专题二

    保存每个节点的下一个节点一直往下面走就行了,不能重复经过某个点,当经过的点达到20个而且当前节点的下一个节点是起点就打印答案. AC代码 #include<cstdio> #include ...

  3. 1_Two Sum --LeetCode

    原题如下: 思路:将nums放到一个map<int,int>中,其中,键是nums中元素,值对应其下标.然后遍历nums,取nums中一个值nums[i],接着用target减去它,最后再 ...

  4. 使用static与const关键字时需要掌握的知识

    static:1.不考虑类,static的作用:    1)第一个作用:隐藏.使得全局变量和函数对其它文件不可见,同时避免了不同文件的命名冲突.    2)第二个作用:默认初始化为0.未初始化的全局静 ...

  5. Java获取当前的年月

    今天,我在尝试从数据库取数据的过程中,发现页面初始化时需要给时间控件赋初值.于是,我就写了一个获取当前年月的时间工具类. 1.具体源码如下: YearAndMonth.java: /** * @Tit ...

  6. RTSP协议分析

    RTSP 协议分析 1.概述:  RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetw ...

  7. Flex中的DataGrid报错(一)

    1.错误描述    此行的多个标记:    -holeNum    -1105: 赋值的目标必须是引用值. 2.错误原因    detailWindow.holeNum.toString() = &q ...

  8. Flex动态获取方法报错

    1.错误描述 2.错误原因 由于Flex文件修改后,需要将其编译成swf文件,刚修改的方法没有编译,再加上历史缓存的原因,导致报错 3.解决办法 将Flex项目重新clean一下,并将MyEclips ...

  9. 从Git到GitHub,详细教程

    众所周知,一个稍微有点规模的项目,都不可能是一个人单打独斗完成的(能完成的大神别打我),所以,一个高效的项目团队就需要一个NB的工具来进行有效的交流(曾经有人问我企鹅不就可以吗,我竟无言以对),今天就 ...

  10. OpenStack_I版 1.准备过程

    openstack是一个开源云平台,python开发   此次部署为实验环境, 采用扁平化简单的网络架构部署                       优点:低耦合的,模块化            ...