AI 驱动的混合搜索正在进行封闭测试。 加入等待列表 以获取早期访问权限!

转到主页Meilisearch 的徽标
返回文章
2019年10月18日

SpO₂:小巧的动态监控工具

Clément Renault
Clément RenaultMeilisearch 团队@Kerollmops
SpO₂ the little dynamic monitoring tool

SpO₂ 是血氧饱和度,用于医疗人员监控。

我是 Kerollmops,我是 Meili 的 CTO,今天我发布了 SpO₂

在 Meili,我们需要一个工具来监控我们的 pod。我们已经有了 vigil 来检查我们的首页和后端,但是这些服务的数量是有限的。我们目前不会动态地弹出新的前端或后端服务器(目前)。当我们为用户创建新的搜索引擎时,我们会实例化一个 kubernetes pod,我们需要监控此服务的运行状况。在 vigil 配置文件中手动添加每个 URL 不是一个好办法。

因此,我们决定需要一个简单的工具,一个可以接受 HTTP 请求来注册/注销要进行健康检查的 URL 的工具。我们使用了新的 async/await Rust 语法以及用于 http 服务器的 tide,这里没什么大不了的。

我们当前的云服务提供商是 Digital Ocean,因此,我们无法在那里托管我们的 SpO₂ 服务。我们选择了 Scaleway,因为它更便宜,而且开箱即用。我们需要持久存储健康检查的 URL。如果这些 URL 仅存储在 RAM 中,你会怎么做?如果服务器重启了会怎么样? 我之前已经使用 Rust 中的磁盘支持的键值存储 Sled 工作过。因此我们选择依赖它。

@qdequele 使用原生 JavaScript 构建了前端。使用 Websocket,我们能够实时显示 pod 状态。由于大多数人不会整天站在电视机前,通过颜色变化来通知开发运维人员,因此我们决定实施通知。我们所有的监控工具都使用 Slack,并且因为实现它就像一个简单的 webhook 一样简单,所以我们选择了它。

在最新版本中,我们对 Slack 通知系统进行了一些改进。我们现在将状态更改事件批量处理为 40 个;这意味着 SpO₂ 发送一条最多包含 40 个事件的消息,并调节频道垃圾邮件。它还会显示与不健康测量相关的 HTTP 状态以及无法访问的错误消息。

SpO₂ 本身不支持 SSL/TLS,无论是 HTTP 还是 WebSocket 端点。我们需要这种安全性,所以我们研究了 NGINX,这是一个小型的、不为人知的反向代理服务器,我们使用基本身份验证对其进行了配置。这不是一项容易的任务,而且因为我们很酷,所以我们制作了文档来帮助您也这样做。

请不要犹豫分享或点赞此项目,欢迎提交 pull request 😊

顺便说一句,我们实际上不是在测量人,而是在测量机器。

Meilisearch expands search power with Arroy's Filtered Disk ANN

Meilisearch 通过 Arroy 的过滤磁盘 ANN 扩展了搜索能力

我们如何使用 Arroy 的过滤磁盘 ANN 实现 Meilisearch 过滤功能

Clément Renault
Clément Renault2023年12月27日
Multithreading and Memory-Mapping: Refining ANN performance with Arroy

多线程和内存映射:使用 Arroy 优化 ANN 性能

克服使用 Rust 增强 ANN 性能的挑战。

Clément Renault
Clément Renault2023年12月21日