当前位置: 首页 > news >正文

去中心化类微博应用 mastodon

一句话重点,去中心,没监管,自己对自己信息做主,没人随便删你消息的分布式社交应用 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 的话,可以在几分钟内完成部署。

转载于:https://www.cnblogs.com/s0-0s/p/8592358.html

相关文章:

  • mvn命令
  • 安全感
  • DCN(Deep Cross Network)模型在手淘分类地图CTR预估上的应用
  • 第一周第一天任务
  • js压缩图片的方法(手机端,兼容ios和android),返回值为base64的字符串,压缩率ratio可自定义...
  • DirectFB、Layer、Window、Surface之间关系
  • 复杂recyclerView封装库
  • js文件、图片上传(原生方法和jquery的ajax两种都有)
  • 浮点数网络传输
  • 第199天:js---扩充内置对象功能总结
  • 1.6-1.7 centos7-配置ip
  • Maven学习笔记四(坐标和依赖)
  • java 泛型中classT 和T的区别是什么?
  • django性能优化缓存view详解
  • thymeleaf 引入js css 无效
  • 【翻译】babel对TC39装饰器草案的实现
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • angular2开源库收集
  • nfs客户端进程变D,延伸linux的lock
  • SSH 免密登录
  • 来,膜拜下android roadmap,强大的执行力
  • 七牛云假注销小指南
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 1.Ext JS 建立web开发工程
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • $.proxy和$.extend
  • (7)STL算法之交换赋值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (转)iOS字体
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net mvc部分视图
  • .net经典笔试题
  • @property @synthesize @dynamic 及相关属性作用探究
  • @ResponseBody
  • @vue/cli脚手架
  • [ solr入门 ] - 利用solrJ进行检索
  • [20181219]script使用小技巧.txt
  • [C#]winform部署yolov9的onnx模型
  • [c++] 自写 MyString 类
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [C语言]——分支和循环(4)
  • [dts]Device Tree机制
  • [hdu 3065] 病毒侵袭持续中 [AC自动机] [病毒特征码匹配]
  • [hdu 3746] Cyclic Nacklace [kmp]