Meilisearch v1.14 发布啦 ✨ 在我们的博客上阅读更多

返回首页Meilisearch 的标志
返回文章
2019年3月25日

MeiliES - Rust 中的事件溯源

Thomas Payet
Thomas Payet联合创始人兼首席运营官 @ Meilisearch@totolapaille
MeiliES - Event sourcing in Rust

今天我们发布了 MeiliES,我们的事件存储,它完全使用 Rust 实现。

事件溯源是一种 “将应用程序状态的所有更改捕获为一系列事件” 的方式,正如 Martin Fowler 所描述的那样。服务器的首要目的是将事件流发布给订阅的客户端。客户端还可以指定要从哪个事件号开始读取,因此可以通过仅使用新事件重建状态来从崩溃中恢复。

由于消息队列不是为事件溯源而设计的,因此可用于事件溯源的应用程序很少:主要的选项是 EventStore,一个用 C# 编写的事件溯源数据库。
因此,我们开始使用 EventStore 来满足我们的事件溯源需求,并遇到了一些问题

  • 可移植性:EventStore 是用 C# 构建的,并使用 mono,这使得它在 UNIX 上安装和运行相当困难
  • 支持:我们询问了关于 EventStore 商业支持的信息,但从未得到任何回应
  • 稳定性:Rust 客户端尚未准备好用于生产环境,尽管我们做了一些合并请求,但仍有很多工作要做,而且许多可用功能对我们来说并不有用。

因此,我们决定实现我们自己的事件存储来解决这些问题。

MeiliES 是一个事件溯源数据库,它使用 RESP (REdis 序列化协议) 进行通信。我们使用 Redis 协议来简化客户端的实现。通过使用完全 Rust 实现(我们使用 Sled 作为内部存储)解决了可移植性问题。

安装非常简单,只需执行 cargo build --release 即可。如果您不想克隆存储库,您可以从 Azure 管道下载二进制文件,或者使用 docker 运行:docker run -p 6480:6480 --rm getmeili/meilies:latest

如果您对 MeiliES 有任何疑问,您可以在 Twitter 上 @meilisearch 或在 GitHub 上提出 issue 🎉

Introducing Meilisearch's next-generation indexer: 4x faster updates, 30% less storage

Meilisearch 下一代索引器发布:更新速度提升 4 倍,存储空间减少 30%

2024 年索引器版本通过并行处理、优化的 RAM 使用率和增强的可观察性,彻底改变了搜索性能。了解我们最新版本的新功能。

Louis Dureuil
Louis Dureuil2025年2月26日
Meilisearch indexes embeddings 7x faster with binary quantization

Meilisearch 通过二值量化技术,索引 embeddings 的速度提升 7 倍

通过使用向量存储 Arroy 实现二值量化,在保持搜索相关性和效率的同时,大幅减少了大型 embeddings 的磁盘空间使用量和索引时间。

Tamo
Tamo2024年11月29日
Meilisearch is too slow

Meilisearch 速度太慢

在这篇博客文章中,我们将探讨 Meilisearch 文档索引器所需的增强功能。我们将讨论当前的索引引擎、其缺点以及优化性能的新技术。

Clément Renault
Clément Renault2024年8月20日