ProxySQL - High-performance MySQL proxy

  •        1286

ProxySQL is a high performance, high availability, protocol aware proxy for MySQL and forks (like Percona Server and MariaDB). It has an advanced multi-core architecture. It's built from the ground up to support hundreds of thousands of concurrent connections, multiplexed to potentially hundreds of backend servers. The largest ProxySQL deployment spans several hundred proxies.

ProxySQL’s configuration system is inspired from routers. You can dynamically configure everything, persist the configuration and modify it. All with 0 downtime. Its other feature include Query caching, Query Routing, Application layer proxy, Advanced topology support and lot more.

It also acts as a Firewall, In case of offending queries that cause problems to the DB (SQL injection or inefficient retrieval of information via SELECT * without WHERE, for example), ProxySQL acts as a gatekeeper between the application and the DB, allowing DBAs to react quickly.

http://www.proxysql.com/
https://github.com/sysown/proxysql

Tags
Implementation
License
Platform

   




Related Projects

MaxScale - An intelligent database proxy

  •    C++

The MariaDB Corporation MaxScale is an intelligent proxy that allows forwarding of database statements to one or more database servers using complex rules, a semantic understanding of the database statements and the roles of the various servers within the backend cluster of databases. It extends the high availability, scalability, and security of MariaDB Server while at the same time simplifying application development by decoupling it from underlying database infrastructure.

Cobar - Proxy for sharding databases and tables

  •    Java

Cobar is a proxy for sharding databases and tables,compatible with MySQL protocal and MySQL SQL grama,underlying storage only support MySQL for support foreground business more simple,stable,efficient and safety。

kingshard - A high-performance MySQL proxy

  •    Go

kingshard is a high-performance proxy for MySQL powered by Go. Just like other mysql proxies, you can use it to split the read/write sqls. Now it supports basic SQL statements (select, insert, update, replace, delete). The most important feature is the sharding function. Kingshard aims to simplify the sharding solution of MySQL. The Performance of kingshard is about 80% compared to connecting to MySQL directly.kingshard is under the Apache 2.0 license. See the LICENSE directory for details.

Reborn - yet another fast distributed solution for Redis

  •    Go

Reborn is a proxy based high performance Redis cluster solution written in Go/C, an alternative to Redis. Reborn supports multiple stateless proxy with multiple redis instances. Reborn is engineered to elastically scale, Easily add or remove redis or proxy instances on-demand/dynamically.

Apache ShardingSphere - Distributed Database Ecosphere

  •    Java

Apache ShardingSphere is an open-source ecosystem consisted of a set of distributed database solutions, including 3 independent products, JDBC, Proxy & Sidecar (Planning). They all provide functions of data scale-out, distributed transaction and distributed governance, applicable in a variety of situations such as Java isomorphism, heterogeneous language and cloud-native.


twitter-twemproxy

  •    C

twemproxy (pronounced "two-em-proxy"), aka nutcracker is a fast and lightweight proxy for memcached and redis protocol. It was built primarily to reduce the number of connections to the caching servers on the backend. This, together with protocol pipelining and sharding enables you to horizontally scale your distributed caching architecture.

SQL Relay - Database Connection Pool library with API available in all programming languages

  •    C++

SQL Relay is a persistent database connection pooling, proxying and load balancing system for Unix and Linux supporting ODBC, and all major databases. It has APIs for C, C++, ODBC, Perl, Perl-DBI, Python, Python-DB, Zope, PHP, Ruby, Ruby-DBI, Java, TCL and Erlang, drop-in replacement libraries for MySQL and PostgreSQL clients.

Envoy - C++ front/service proxy

  •    C++

As on the ground microservice practitioners quickly realize, the majority of operational problems that arise when moving to a distributed architecture are ultimately grounded in two areas: networking and observability. It is simply an orders of magnitude larger problem to network and debug a set of intertwined distributed services versus a single monolithic application.

docker - Docker for Piwik

  •    Dockerfile

In keeping with a 'pure' micro-services approach, this image runs a Matomo service only (in the form of FastCGI). Because of that it must be used with companion containers which provide a database for data storage and HTTP to FastCGI proxy/translation services for the user interface. This assumes you've already launched a suitable MySQL or MariaDB database container.

Kong - The Microservice API Gateway

  •    Lua

Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh). Backed by the battle-tested NGINX with a focus on high performance, Kong was made available as an open-source platform in 2015. Under active development, Kong is used in production at thousands of organizations from startups, Global 5000 and Government organizations.

Atlas - A high-performance and stable proxy for MySQL, it is developed by Qihoo's DBA and infrastructure team

  •    C

We have build another interesting project pika. Pika is a nosql compatible with redis protocol with huge storage space. You can have a try.Atlas is a MySQL protocol-based database middleware project developed and maintained by infrastructure team of the Web platform Department in QIHU 360 SOFTWARE CO. LIMITED(NYSE:QIHU). It fixed lots of bugs and added lot of new functions on the basis of MySQL-Proxy 0.8.2. Currently the project has been widely applied in QIHU, many MySQL business has connected to the Atlas platform. The number of read and write requests forwarded by Atlas has reached billions.

Spock Proxy

  •    C++

Spock Proxy supports range-based horizontal paritioning of a large MySQL database. The proxy intercepts SQL queries from the client, sends queries to the correct databases based on the partitioning, and returns aggregated results to the caller.

mixer - a MySQL proxy powered by Go

  •    Go

Mixer is a MySQL proxy powered by Go which aims to supply a simple solution for MySQL sharding.A proxy is the bridge connecting clients and the real MySQL servers.

toxy - Hackable HTTP proxy for resiliency testing and simulated network conditions

  •    Javascript

Hackable HTTP proxy to simulate server failure scenarios, resiliency and unexpected network conditions, built for node.js.It was mainly designed for failure resistance testing, when toxy becomes particularly useful in order to cover fault tolerance and resiliency capabilities of a system, especially in disruption-tolerant networks and service-oriented architectures, where toxy may act as MitM proxy among services in order to inject failure.

Galera - Cluster for MySQL and MariaDB

  •    C

Galera cluster provides distributed, multi master support for MySQL and MariaDB. Its feature include Synchronous Replication, True Multi-master, Active-Active Cluster Read and write to any node at any time, Automatic Node Provisioning, Multi-threaded Slave and lot more.

Gaea - Gaea is a mysql proxy, it's developed by xiaomi b2c-systech team.

  •    Go

Gaea is a mysql proxy, it's developed by xiaomi b2c-systech team.

RadonDB - Cloud-native MySQL database for building global, scalable cloud services

  •    Go

RadonDB is a cloud-native database based on MySQL. It’s architected to fully distributed cluster that delivering unlimited scalability (scale-out), capacity and performance. It supports distributed transaction capability for high data consistency, and leverage MySQL as storage engine with trusted data reliability. RadonDB is compatible with MySQL protocol, at mean time supports automatic table sharding, that simplifying the maintenance and operation workflow.

muxy - Chaos engineering tool for simulating real-world distributed system failures

  •    Go

Proxy for simulating real-world distributed system failures to improve resilience in your applications.Muxy is a proxy that mucks with your system and application context, operating at Layers 4, 5 and 7, allowing you to simulate common failure scenarios from the perspective of an application under test; such as an API or a web application.

wyproxy - proxying and recording HTTP/HTTPs/Socks5 proxy flow, save to MYSQL database.

  •    Python

HTTP/HTTPS, Socks5代理服务器, 并可以将网络请求记录保存到后台数据库.

rotating-proxy - Rotating TOR proxy with Docker

  •    Ruby

Why: Lots of IP addresses. One single endpoint for your client. Load-balancing by HAproxy.Please note: Tor offers a SOCKS Proxy only. In order to allow communication from HAproxy to Tor, Polipo is used to translate from HTTP proxy to SOCKS proxy. HAproxy is able to talk to HTTP proxies only.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.