Need help with samaritan?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

272 Stars 44 Forks Apache License 2.0 36 Commits 4 Opened issues


A transparent proxy focus on infrastructure

Services available


Need anything else?

Contributors list



Build Status Go Report Card codecov Docs LICENSE

English | 简体中文

Samaritan (səˈmerətn) is a client side L4 or L7 proxy, written in Golang, with the aim to provide high availability and load balancing. You can call it Sam (sam) for simplicity.

We named this project Samaritan as it saves our OPs from extreme misery:

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"


  • Fast, efficient, lightweight and works on the client side

  • Hot restart, zero downtime

  • Hot re-configuration without down time

  • Good observability

  • First-class Redis cluster support

    • commond level stats
    • cluster scan
    • transparent compression
    • hotkey in real time


It is deployed on every container and virtual machine in the production environment at ELEME, proxying all traffic to the basic components including Redis, MySQL, MQ, etc. And the total number of running instances is close to sixty thousand.


  • For documentation about specific topics, including introduction, quick start, architecture, etc, see docs
  • Examples can be found in the examples directory.


Samaritan is licensed under the Apache 2.0 license. See LICENSE for the full license text.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.