English | 简体中文
Samaritan (səˈmerətn) 是一个使用 Go 开发的,工作在客户端模式的透明代理,能够同时支持四层和七层, 目标是提供负载均衡和高的可用性。为了简单,你也可以叫它 Sam(sam)。
我们以 Samaritan 命令该项目,是希望它能够把我们从痛苦的运维工作中解救出来:
A charitable or helpful person (with reference to Luke 10:33).
"suddenly, miraculously, a Good Samaritan leaned over and handed the cashier a dollar bill on my behalf"
-
轻量、高性能以及工作在客户端
-
支持热更新,无需停服
-
运行时配置动态变更,无需重启
-
良好的观测性
-
一流的 Redis 集群支持
- 命令级别的数据埋点
- 集群级别 scan
- 大 key 的透明(解)压缩
- 热 key 的实时统计
它部署在饿了么生产环境的每台容器和虚拟机上, 代理了到基础组件的所有流量包括 MySQL、Redis、MQ等,总的部署实例数有 6w 个。
- 详细的文档都可以在 docs 找到, 包含介绍、快速上手和架构等信息。
Samaritan 使用 Apache 2.0 协议,点击 LICENSE 查看详情。