libgo
odyssey
libgo | odyssey | |
---|---|---|
2 | 14 | |
3,115 | 3,098 | |
- | 0.4% | |
2.2 | 8.4 | |
10 months ago | 8 days ago | |
C++ | C | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libgo
- The C++ Asynchronous Framework
-
Recently programming languages rust swift kotlin are all have too many tricks, make chinese developers feel uncomfortable and naive .
I find a great project that can make any program support billions of concurrency: https://github.com/yyzybb537/libgo Of course it is created by a Chinese developer.
odyssey
- Open sourcing our fork of PgBouncer
-
The C++ Asynchronous Framework
This is /extremely/ uncharitable. It depends more on the project.
For example, both Go and .NET are very well written with comprehensible documentation. Many projects have also been absorbed by the Apache Foundation or other FOSS initiatives.
Every FANG has boat loads of teams working on umpteen different open source packages. The quality naturally varies.
Let me pick two more esoteric projects as a point of comparison.
Yandex Odyssey (https://github.com/yandex/odyssey) an advanced multi-threaded PostgreSQL connection pooler and request router. Figuring out how exactly and when to use this is not quite clear. There is no "getting started" guide for this package. There is barely any explanation for how it works or what it does.
pg_auto_failover (https://github.com/citusdata/pg_auto_failover) run by Citus (owned by Microsoft) monitors and manages automated failover for a Postgres cluster. This repo even has diagrams explaining the workflow and complete instructions.
-
Postgres Connection Pooling and Proxies
Odyssey, developed by Yandex, is a newer solution for pooling. While Pgbouncer is a single-threaded pooler, Odyssey supports multi-core and multi-threaded processing. The tool has the following features:
- PgCat: Postgres pooler with sharding, load balancing and failover support
- GitHub - yandex/odyssey: Scalable PostgreSQL connection pooler
- Scalable PostgreSQL connection pooler
- yandex/odyssey: Scalable PostgreSQL connection pooler - Advanced multi-threaded PostgreSQL connection pooler and request router.
- Scalable PostgreSQL Connection Pooler
What are some alternatives?
PhotonLibOS - Probably the fastest coroutine lib in the world!
pgbouncer - lightweight connection pooler for PostgreSQL
libco - libco is a coroutine library which is widely used in wechat back-end service. It has been running on tens of thousands of machines since 2013.
pgbouncer-fast-switchover - Adds query routing and rewriting extensions to pgbouncer
coost - A tiny boost library in C++11.
pgcat - PostgreSQL pooler with sharding, load balancing and failover support.
pg_auto_failover - Postgres extension and service for automated failover and high-availability
pgcat - PostgreSQL pooler with sharding, load balancing and failover support. [Moved to: https://github.com/postgresml/pgcat]
rust - Empowering everyone to build reliable and efficient software.
pgagroal - High-performance connection pool for PostgreSQL
pgbouncer_exporter - Prometheus exporter for PgBouncer
catfs - Cache AnyThing filesystem written in Rust