whatisgithub

What is atlas?

qihoo360/atlas — explained in plain English

Analysis updated 2026-06-26

4,629CAudience · ops devopsComplexity · 4/5Setup · hard

In one sentence

A MySQL proxy from Qihoo 360 that automatically routes read queries to replica servers and write queries to a primary, with connection pooling, automatic failover, and zero-downtime configuration reload.

Mindmap

mindmap
  root((Atlas))
    What it does
      MySQL proxy
      Read-write split
      Connection pooling
    Features
      Auto failover
      IP filtering
      Hot config reload
    Use cases
      High traffic DB
      Zero downtime maint
      Load balancing
    Audience
      DBAs
      Backend ops teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Scale a high-traffic MySQL setup by splitting reads across replica servers while all writes go to one primary.

USE CASE 2

Add automatic failover so traffic reroutes to healthy MySQL servers if one goes offline, without manual steps.

USE CASE 3

Reduce database connection overhead in a web app by enabling Atlas connection pooling between the app and MySQL.

What is it built with?

CMySQL

How does it compare?

qihoo360/atlasalibaba/alios-thingsopen-sdr/openwifi
Stars4,6294,6214,619
LanguageCCC
Setup difficultyhardhardhard
Complexity4/54/55/5
Audienceops devopsdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires an existing MySQL primary and replica setup, Atlas is compiled from C source with its own build dependencies.

So what is it?

Atlas is a piece of software that sits between your application and your MySQL database and acts as a traffic manager. MySQL is one of the most widely used databases for web applications, and Atlas is designed to help large-scale deployments handle that database traffic more reliably and efficiently. The project was built and is maintained by the infrastructure team at Qihoo 360, a Chinese technology company, and has been used to handle billions of database requests in their own systems. The main thing Atlas does is separate read and write operations and send them to different database servers. Most applications read data far more often than they write it, so this splitting lets you run multiple copies of a database that handle reads while only one primary server handles writes. Atlas manages distributing those requests automatically. It also handles failover, meaning if one of the database servers goes down, Atlas detects this and stops sending traffic to it without requiring manual intervention. Other features include connection pooling, which reuses existing connections to the database rather than opening a new one for each request, and IP filtering, which restricts which clients can connect. Database administrators can take backend servers in or out of rotation without stopping the service, and the configuration can be reloaded without restarting Atlas. Atlas was built on top of an older project called MySQL-Proxy but rewrote the core network and threading logic in C for better performance, replacing the original Lua-based implementation. The project includes a wiki with installation guides, architecture diagrams, and a frequently asked questions section for common operational scenarios.

Copy-paste prompts

Prompt 1
Show me how to configure Atlas to route SELECT queries to two read replicas and INSERT/UPDATE/DELETE to a primary MySQL server.
Prompt 2
I have a MySQL database overwhelmed with read traffic. Walk me through deploying Atlas between my app and the database to split the load.
Prompt 3
How do I take a backend MySQL replica offline in Atlas for maintenance without dropping client connections or restarting Atlas?
Prompt 4
Explain how Atlas detects a failed MySQL replica and stops sending traffic to it, and show me the relevant config settings.

Frequently asked questions

What is atlas?

A MySQL proxy from Qihoo 360 that automatically routes read queries to replica servers and write queries to a primary, with connection pooling, automatic failover, and zero-downtime configuration reload.

What language is atlas written in?

Mainly C. The stack also includes C, MySQL.

How hard is atlas to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is atlas for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.