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

samaritan-proxy
256 Stars 39 Forks Apache License 2.0 36 Commits 3 Opened issues

Description

A transparent proxy focus on infrastructure

Services available

!
?

Need anything else?

Contributors list

Samaritan

Samaritan

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"

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

Features

  • 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

Status

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.

Documentation

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

License

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.