switchboard

command module
v0.0.0-...-a8f6685 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

README

DEPRECATED: this repo has been merged into https://github.com/cloudfoundry/pxc-release

switchboard

A TCP router written on Golang.

Developed to replace HAProxy as the proxy tier enabling high availability for the MySQL dbaas for Cloud Foundry. Responsible for routing of client connections to a one node at a time of a backend cluster, and failover on cluster node failure. For more information, see the develop branch of cf-mysql-release/docs/proxy.md.

Why switchboard?

There are several other proxies out there: Nginx, HAProxy and even MariaDB's MaxScale. None of them met a specific criteria which is critical for the performance of the cluster in the case that a database server becomes unhealthy but is still accessible. Switchboard detects this condition (via healthchecks) and severs the connection. This forces the client to reconnect, and will be routed to a healthy backend. From the client's perspective it looks like it is connected to a single backend that briefly disappeared and is immediately available again.

Development

Proxy

Install Go by following the directions found here

Running the tests requires Ginkgo:

go get github.com/onsi/ginkgo/ginkgo

Run the tests using the following command:

./bin/test
UI

Ensure phantomjs v2.0 or greater is installed.

To do this on OSX using homebrew:

brew install phantomjs

Run the UI tests using the following command:

./bin/test-ui

Build UI assets:

./bin/build-ui

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
apifakes
Code generated by counterfeiter.
Code generated by counterfeiter.
middleware/fakes
This file was generated by counterfeiter
This file was generated by counterfeiter
domainfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
runner
api
monitor/monitorfakes
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL