2024 年第一场 Rust Meetup 后记

这次 Meetup 不是我组织的,是 Rustcc 和其它社区 Rust 爱好者组织的活动,这次我作为讲师分享 Mega 的内容, 这也是我今年逐渐扩大宣传的一部分。

2024 年第一场 Rust Meetup

Meetup 的形式有可能找到对项目感兴趣的开发者参与进来, 如果要获得广泛的关注度还是需要通过媒体的方式传播, 那还不是我当前要做的事情。

本来是安排相对宽松的行程能充分准备,但是突然在周四和周五安排了密集的拜访和会议,只得在周五晚上从北京飞到深圳来,凌晨到深圳才住下。

大兴机场买的一瓶俄罗斯啤酒

我的分享 - 《用 Rust 重新实现 Git 存储服务》

首先是演讲 Slide 的在线链接 - 《用 Rust 重新实现 Git 存储服务》

其实 Mega 这个事情讲出来大多数人是不知道我要做什么样的东西。 很多国内开发者对 Monorepo 这个概念还是不太熟悉,就算是国内的一线大厂也没有能力和文化底蕴在公司内推行 Monorepo ,更不用说是关注实现 Monorepo 的实现了。 所以这次我先讲了要做的东西到底是什么, Google 、 Facebook 和 Microsoft 三家公司是怎么实现的,带出来我为什么要重新实现 Git 底层的存储并存到数据库中。

你知道到底哪个模式合适你么?

实现讲起来就比较乏味, 其中的各种坑是不能用言语表达的,包括到现在对于大 Git 仓库处理过程中内存控制的问题还是没有完全解决。 当然最后我也没有推荐大家去试用,在我来看项目还没有到 0.1 发布的情况下,推荐开发者使用还是不负责的。

很多人对 Mega 的实现还是关注在 “大”, 我经常也吐槽审美被教育为 “傻大黑粗” 才是最好的。 很多人提出的都是能不能解决大模型开发和训练过程中的版本问题, 这方面要超过 LFS 做出更优雅更有效率的实现还是有些困难, 所以采用 p2p 成为当前的一个重要选择。 P2P 的实现目前 Mega 还没有做好, 也没有完整的测试计划, 还需要很多的时间去打磨。

把一个复杂的项目用简单的架构实现其实也是功力

Mega 的架构很简单,我坚持不搞所谓的 Microservice 来去复杂化是希望不管是个人和企业能更容易的部署,包括将来采用 Tauri 打包构建成桌面应用,在我看坚持架构的简单化也是一种美。

Rust 未来会如何

我其实在演讲中表达了一个观点,

Rust 就算是一个内存安全的编程语言,也不能保证开发者写出的代码都是安全的。

其实我另一个观点没有在公开的场合说,但是下面和几个人聊天时候讲了,

Rust 是个锤子,不能满眼看到的都是钉子...