ProductPromotion
Logo

Go.Lang

made by https://0x3d.site

GitHub - wesql/wescale: WeScale is a Modern MySQL proxy that supports read-write-split, read-after-write-consistency, load balancing and OnlineDDL.
WeScale is a Modern MySQL proxy that supports read-write-split, read-after-write-consistency, load balancing and OnlineDDL. - wesql/wescale
Visit Site

GitHub - wesql/wescale: WeScale is a Modern MySQL proxy that supports read-write-split, read-after-write-consistency, load balancing and OnlineDDL.

GitHub - wesql/wescale: WeScale is a Modern MySQL proxy that supports read-write-split, read-after-write-consistency, load balancing and OnlineDDL.

LICENSE Language Unit Test (mysql57) Unit Test (mysql80) E2E Test MTR Test

WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications. By managing connections, read-write-split, read-after-write-consistency, load balancing, WeScale offers a valuable tool for developers and database administrators.

Getting Started

  • To Get Started On Your Local Machine with WeScale, simply clone the repository and follow the installation instructions provided in the documentation.
  • To Deploy WeScale on Kubernetes, you can use the powerful Kubeblocks Operator to quickly launch a WeScale cluster in a Kubernetes cluster. We recommend this method for production environments.

Getting Started with Docker

To Start WeScale with Docker, you can simply run the following command:

docker network create wescale-network

docker run -itd --network wescale-network --name mysql-server \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=passwd \
  -e MYSQL_ROOT_HOST=% \
  -e MYSQL_LOG_CONSOLE=true \
  mysql/mysql-server:8.0.32 \
  --bind-address=0.0.0.0 \
  --port=3306 \
  --log-bin=binlog \
  --gtid_mode=ON \
  --enforce_gtid_consistency=ON \
  --log_replica_updates=ON \
  --binlog_format=ROW

docker run -itd --network wescale-network --name wescale \
  -p 15306:15306 \
  -w /vt/examples/wesql-server \
  -e MYSQL_ROOT_USER=root \
  -e MYSQL_ROOT_PASSWORD=passwd \
  -e MYSQL_PORT=3306 \
  -e MYSQL_HOST=mysql-server \
  apecloud/apecloud-mysql-scale:0.3.7 \
  /vt/examples/wesql-server/init_single_node_cluster.sh

Now you can connect to WeScale and the original MySQL server:

# Connect to WeScale
mysql -h127.0.0.1 -uroot -ppasswd -P15306

# You can still connect to the original MySQL server
mysql -h127.0.0.1 -uroot -ppasswd -P3306

Clean up the containers:

docker rm -f mysql-server wescale
docker network rm wescale-network

Blogs

Documentation

Developer

Features

Connection Management: WeScale efficiently manages connections to your database, reducing the overhead on your application and improving performance. WeScale relieves you of the worry of the max_connection problem in your database.

Read Write Split: WeScale simplify application logic by automatically routing read queries to read-only nodes and write queries to the primary node. This is achieved by parsing and analyzing SQL statements, which ensures efficient use of available resources.

Read After Write Consistency: When an application writes data to the primary node and subsequently reads it on a read-only node, WeScale makes sure that the data that was just written to the primary node can be accessed and read from the read-only node.

Load Balancing: The proxy intelligently routes queries to the appropriate read-only nodes using various load balancing policies. This ensures that the workload is evenly distributed across all available nodes, optimizing performance and resource utilization

Transparent Failover: WeScale is capable of automatically detecting failovers and buffering application SQL in its memory while keeping application connections intact, thus enhancing application resilience in the event of database failures.

Contributing

We welcome contributions to WeScale! If you have any ideas, bug reports, or feature requests, please feel free to open an issue or submit a pull request.

License

WeScale is released under the Apache 2.0 License.

Acknowledgements

WeScale is a fork of the Vitess project, which is a database clustering system for horizontal scaling of MySQL. We would like to thank the Vitess team for their hard work.

Articles
to learn more about the golang concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

Queries
or most google FAQ's about GoLang.

mail [email protected] to add more queries here ๐Ÿ”.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory