awe4lb
is a layer 4 load balancer
- TCP buffer sizes are currently determined by the Operating System.
- UDP buffer sizes are application specific. Default is 16384 bytes.
- Do not allow public access to the REST api, since it allows for full management. Expose it only within a trusted network perimeter.
- Most applications and use cases should work fine with the default TCP buffer size. However, applications which stream large amounts of data should make sure that the underlying hardware has enough memory capacity to handle backpressure from either clients or backends.
- Schema modeling (configuration template).
- SSL connection tracking.
- ACME certificate issuance/renewal. For now, use
certbot
to rotate certificates, then restartawe4lb
.
- UDP backend selection strategies (weight, random, round robin).
- Sticky session support.
- UDP Transparent proxying.
- DNS records.
- Exec return value.
- Kubernetes.
- Any others provided by
gobetween
.
- Metrics capturing.
- Bytes sent/received (global).
- Whichever other metrics
gobetween
exposes.
- Metrics access (prometheus endpoint).
- REST API access for configuration changes.
- UI implementation.
- Documentation/Usage notes/caveats.
- https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#jsse-cipher-suite-names
- https://stackoverflow.com/questions/53323855/sslserversocket-and-certificate-setup
- https://stackoverflow.com/a/62263402/491160
- https://github.com/raell2/SSLAsynchronousSocketChannel/tree/master
- https://stackoverflow.com/questions/14225957/socket-vs-socketchannel
- https://bugs.openjdk.org/browse/JDK-8202625
- yyyar/gobetween#335
- https://github.com/felipejfc/go-udp-echo-server
In memory of James Perry McCaffrey (March 27, 1958 – December 17, 2023).