Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 2.34 KB

README-zh_CN.md

File metadata and controls

56 lines (34 loc) · 2.34 KB

Samaritan

Samaritan

Build Status Go Report Card codecov Docs LICENSE

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"

https://www.lexico.com/definition/samaritan

特性

  • 轻量、高性能以及工作在客户端

  • 支持热更新,无需停服

  • 运行时配置动态变更,无需重启

  • 良好的观测性

  • 一流的 Redis 集群支持

    • 命令级别的数据埋点
    • 集群级别 scan
    • 大 key 的透明(解)压缩
    • 热 key 的实时统计

状态

它部署在饿了么生产环境的每台容器和虚拟机上, 代理了到基础组件的所有流量包括 MySQL、Redis、MQ等,总的部署实例数有 6w 个。

文档

  • 详细的文档都可以在 docs 找到, 包含介绍、快速上手和架构等信息。

相关文章

许可协议

Samaritan 使用 Apache 2.0 协议,点击 LICENSE 查看详情。