反Twitter平台用户激增250万,这名29岁程序员如何凭一己之力扛住超8倍流量增长?

本文主要是介绍反Twitter平台用户激增250万,这名29岁程序员如何凭一己之力扛住超8倍流量增长?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为 Twitter 的替代品,Mastodon 越来越受欢迎,但这个平台背后,只有一名全职员工。面对激增而来的用户,凭一己之力运营 Mastodon 是个什么感受?

Mastodon 明显需要感谢 Twitter 的 CEO 马斯克。马斯克于 10 月下旬正式接管 Twitter,Mastodon 用户数量就开始激增。仅在马斯克接掌 Twitter 的几天之后,Mastodon 宣称其用户已从 30 万涨到了 65 万 5 千人。这段时间,马斯克削减开支、大幅裁员和对平台进行混乱更改,在这些神操作下,越来越多用户涌向了 Mastodon 平台,终于在 12 月底,每月活跃用户增加到了 250 万。

除了普通用户,还有些组织也宣布入驻 Mastodon。12 月 20 日, Firefox 浏览器的开发商 Mozilla 宣布将开始运行 Mastodon“实例”,并计划于明年初进行公开测试,正式开启了在该平台上建立业务的热潮。

资金也希望能够流入 Mastodon,据《金融时报》消息,来自硅谷风险投资公司对 Mastodon 充满了兴趣,但 Mastodon 创始人为了保持这个社交媒体平台的非营利地位,在近几个月里数次拒绝了他们的投资提议。

Mastodon 的名气不断上升,马斯克不得不承认链接到 Twitter 的竞争对手是一个错误,他一度禁止掉了所有指向竞争对手服务的链接,还封禁了不少相关用户账户。

1、用户多了,创始人的压力也更大了

Mastodon 由一位名叫 Eugen Rochko 的德国程序员创立。2016 年,Twitter 平台将信息流改为采用算法驱动的乱序默认时间线,当时,Rochko 刚从一所德国大学里获得计算机科学学位,因为对 Twitter 平台的不满,他决定实现一个自己的社交媒体。

Mastodon 被设计成为了一个开源的社交媒体平台,建立在 Fediverse 去中心化网络上,这是由数千个独立服务器连接的在线世界。目前 Fediverse 上大约有 5,700 台 Mastodon 服务器。该软件使用名为 ActivityPub 的协议,由 Ruby on Rails 后端、JavaScript 前端、Sidekiq 作业管理和 PostgreSQL 关系数据库组成。作为反 Twitter 平台,Mastodon 没有使用推荐算法,也不会尝试向用户推荐任何东西,也没有统一的审核机制,各分支可以按照自己的规则来决定哪些人可以加入、哪些内容可以发布。

2017 年,Rochko 发布了第一版代码,但用户增长一直十分缓慢,最开始 Mastodon 的追随者都是技术作家和黑客,这也是创建时的目标人群,而且对“权力下放”和“开源”的强调只会让最精通技术的人感到鼓舞和受到吸引。

2021 年,美国前总统特朗普团队使用了 Mastodon 的源代码,开发了他们的新社交媒体平台,即所谓的 Truth Social,并获得了上百万的独立访问用户,这才让 Mastodon 名声大噪。特朗普团队最初还隐瞒了使用了 Mastodon 代码这一事实,但该行为违反了 GNU 开源协议。后来这一事实被 Mastodon 团队发现了,他们给 Truth Social 的开发人员发了律师函,特朗普团队才不得不公布了源代码。Truth Social 也是最著名的 Mastodon 实例。

作为该项目唯一一个全职员工,Eugen Rochko 曾说:“我们没有办法控制成功何时才能到来,只能不断为它奠定基础。”现在,因为马斯克的神操作,Mastodon 用户激增,这位现年 29 岁的德国程序员也在几周之内突然再次闻名全球,同时也让他压力倍增。

新增的上百万 Mastodon 帐户,使流行的服务器不堪重负,新手介绍、问题和投诉淹没了现有用户的时间线。自从马斯克接管 Twitter 以来,Rochko 一直在长时间工作以保持自己的服务器 Mastodon.Social 正常运行,同时还准备对 Mastodon 进行重大升级。

今年 11 月,Rochko 在接受 Wired 采访时表示,自从该网络上个月人气暴涨以来,他每天需要工作 14 个小时。

与巨头竞争对手 Twitter 相比,Mastodon 的规模和结构看起来非常不同。在公司 2021 年的年度报告中,罗奇科是唯一的固定雇员,他在在德国东部一个小镇的家中编程,每月收入 2,400 欧元,团队中还有一些合同工。去年社区向运行 Mastodon 的非营利性组织捐款总计 55,000 欧元,但该团队只花了 23,000 欧元。

随着服务变得越来越流行, Mastodon 实例的托管成本也显着增加,Mastodon 不得不扩大规模并为服务器支付更多费用。“但是 Mastodon 和 Fediverse 网络提供了将负载分散到多个不同参与者的能力。我可以在我的服务器上关闭注册,其他服务器和网络将立即接收正在尝试注册的人。”

值得强调的是,跟 Twitter 是单一的一个网站不同,Mastodon 并不是一个单独的平台。它也不是一个实实在在的“东西”,不是由某个人或某个公司拥有。Mastodon 的核心是 Rochko 提供的开源软件系统,任何人都可以在自己的服务器上部署这样一个系统,运作自己的 Mastodon 服务,每个服务也可以称为“实例”(instance)。每一个 Mastodon 服务器,都是一个自给自足的“微型”社交网络,可以有它自己的主题,比如金融、数码、生活、职场等等。用户在注册 Mastodon 的时候,必须选择其中一个。

当所有 Mastodon 服务器连接在一起,才形成了一个非集中性的网络。这也是去中心化平台的粉丝们所喜欢的一个特点,因为这种平台不会像 Twitter 那样容易被控制。

虽然作为一个全球分布式现代应用程序,但激增的用户也会给维护这些服务器的人员和团队带来挑战。就像 Rochko 所说的,当压力增大时,有的服务器可以在不堪重负的情况下选择关闭注册,将压力分摊给其他服务器或网络。

2、在压力下,运行 Mastodon 服务器的技术人

Jaz-Michael King 就是其中一位运营 Mastodon 服务器中的人。他是一名威尔士人,经营一家美国互联网公司,业余时间运营着一个叫作 Toot Wales 的 Mastodon 服务器。与其他 Mastodon 服务器一样,在马斯克接管 Twitter 后,Toot Wales用户活跃度呈指数级增长

“在马斯克抱着水槽走进 Twitter 办公室之前,我们每天大概处理 15 万条消息……现在每天要处理 300 万到 400 万条消息。我们的注册用户是之前的 3 倍,活跃度也大大增加了。”

Toot Wales

为了运营好 Toot Wales,King 选择了一家知名的托管公司 mastohost。“我对技术了解得足够多,可以要求他们做出任何我想要的调整,但我还是尽量不去这么做。我的另一个原则是我们只运行主分支,不使用任何试验性的东西,也不使用不稳定的软件更新。我想要稳定的、功能性的、经过实战测试的代码。我在边缘部分做了一些改动——我以前会在前端做很多改动,最近升级到 Mastodon 4.0 后,我甚至把前端大部分东西都去掉了,所以它非常简洁。我想要知道我运营的是什么,想要知道什么是有效的,但我尽量不去动它。”

他还对设计做了一些修改。主要是为了让非技术用户不会对 Mastodon 的用户界面感到厌烦——即使是最狂热的信徒也应该承认,与 Twitter 的用户体验相比,Mastodon 的用户界面略显逊色。Mastodon 的布局看起来有点像 TweetDeck(一款 Twitter 客户端),有多个列。虽然这对于关注列表或标签搜索很有用,但它的实现不如 TweetDeck 的好。他说:“我所能做的是改进用户体验。我坚信我们不需要多列视图,我们是一个提供单列试图的服务器。”

尽管他尽量不插手托管方技术上的事情,但自从发生 Twitter 收购事件以来,King 一直忙于处理社区和内容方面的事情。“内容和社区管理,包括内容审核,一直是一个沉重的负担。我们需要巧妙地向人们描述我们为什么存在,以及为什么我们并非另一个特推——很多人以为 Mastodon 是在不久前创建的,目的是为了替代 Twitter。因此,我们需要向人们解释他们使用的其实是几年前就有的东西,然后管理现有的和即将到来的社区期望,并找到中间地带。”

King 希望 Mastodon 在社区管理功能方面做出改进。首先,他希望“在产品中加入比现在更多的联邦和去联邦服务。”他指的是与其他服务器通信的方法,比如阻止清单。他想要一种在服务器之间“谨慎、合乎道德、谨慎地共享”信息的方法。

作为一个开源软件项目,Mastodon 的一个设计是不鼓励用户使用关键字搜索。默认情况下,你可以搜索话题标签,但(与 Twitter 不同)不能输入搜索关键字——比如“马斯克”——然后等待结果。这在不同的服务器之间的实现是不同的,有些服务器可以搜索到自己发的或参与的帖子,但从更大的范围来看,并没有结果。

Mastodon 的 GitHub 主页有一个关于搜索限制的争议。King 对此表示,从 Twitter 迁移过来的用户期望他们能够搜索关键字,因为他们在 Twitter 上已经习惯了,但他仍然对此持抵制态度。Toot Wales 的用户甚至不能搜索自己的帖子。King 考虑过开启这个选项,但他担心这会对他的服务器造成影响。“我们可以开启搜索功能的增强特性,让用户可以搜索自己的内容。说实话,我认为它不值得浪费 CPU 资源。”

撇开用户喜好不谈,King 通过 Toot Wales 为威尔士在线社区提供了很好的服务。他没有从中赚到钱,这个网站的运营主体实际上是 King 创立的一个美国慈善机构。

参考链接:

https://joinmastodon.org/zh/servers
https://github.com/mastodon/mastodon
https://www.section.io/blog/mastodon/
https://www.wired.com/story/the-man-behind-mastodon-eugen-rochko-built-it-for-this-moment/
https://www.lemonde.fr/en/m-le-mag/article/2022/11/21/who-is-eugen-rochko-the-young-creator-behind-mastodon_6005052_117.html
https://www.euronews.com/next/2022/11/25/the-anti-elon-musk-meet-eugen-rochko-the-man-behind-twitter-rival-mastodon
https://thenewstack.io/what-its-like-to-run-a-mastodon-server-in-the-musk-twitter-era

这篇关于反Twitter平台用户激增250万,这名29岁程序员如何凭一己之力扛住超8倍流量增长?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/242330

相关文章

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa