|
1 | 1 | ## Background |
2 | | -KMesh is using the Waypoint proxy to handle Level 7 traffic. The Waypoint Proxy is a fork of Istio Proxy, which is a fork of Envoy. While Envoy is a mature application widely used in Kubernetes deployments, we now have a unique opportunity to replace an Istio proxy with something faster, safer and more modern. |
| 2 | +KMesh is using the Waypoint proxy to handle Level 7 traffic. The Waypoint Proxy is a fork of Istio Proxy, which is a fork of Envoy. While Envoy is a mature application widely used in Kubernetes deployments, we now have a unique opportunity to replace the Istio proxy with something faster, safer and more modern. |
3 | 3 |
|
4 | 4 | ## Orion Proxy |
5 | | -Orion Proxy is a proxy application developed at Huawei Ireland Research Lab. We built the Orion Proxy using the Rust programming language to achieve good performance, scalability, memory safety and portability. We wanted to ensure that the Orion proxy fits into the existing Kubernetes ecosystem. We made a pragmatic decision that the Orion Proxy should support the Envoy xDS protocol. This would enable the administrators or operators to dynamically configure the Orion Proxy in the same way as Envoy/Istio proxies are. |
| 5 | +Orion Proxy is a proxy application developed at Huawei Ireland Research Lab. We built Orion Proxy using the Rust programming language to achieve good performance, scalability, memory safety and portability. We wanted to ensure that the Orion proxy fits into the existing Kubernetes ecosystem. We made a pragmatic decision that the Orion Proxy should support the Envoy xDS protocol. This would enable the administrators or operators to dynamically configure the Orion Proxy in the same way as Envoy/Istio proxies are. |
6 | 6 |
|
7 | 7 | ## Architecture |
8 | | -The architecture of the Orion Proxy is based on high-quality components and libraries provided by the Rust ecosystem. The Orion Proxy implementation is underpinned by the Tokio runtime. Tokio enables asynchronous processing of requests resulting in achieving very high throughput and good scalability. Tokio also provides us with well-defined building blocks to build a solution with a well-defined, manageable and extendable architecture. |
| 8 | +The architecture of the Orion Proxy is based on high-quality components and libraries provided by the Rust ecosystem. The Orion Proxy implementation is underpinned by the Tokio runtime. Tokio enables asynchronous processing of requests resulting in achieving very high throughput and good scalability. Tokio also provides us with well-defined building blocks to build a solution with a well-defined, manageable and extendable architecture. |
9 | 9 | We decided to use the Hyper library to handle Http1/Http2 traffic. The Hyper library combined with Rustls allowed us to handle modern TLS traffic through a secure and FIPS-compliant solution. |
10 | 10 |
|
11 | 11 | ## Performance |
12 | 12 | Before release, we rigorously tested Orion's performance in comparison to Envoy Proxy. The [results](./performance/performance.md) show that the Orion Proxy outperforms the Envoy Proxy in terms of throughput and request latency. |
13 | 13 |
|
14 | 14 | ## Features and Future Roadmap |
15 | | -Most of our efforts up to date, have been focused on ensuring that the Orion Proxy can reliably proxy Level 4 and Level 7 traffic. In future, we plan to shift our objectives and implement more features that will make Orion Proxy more robust, reliable and straightforward to operate in production environments. In the short term, we want to provide features such as access logging, metrics with open telemetry, and support for HAProxy and Websockets protocols. |
| 15 | +Most of our efforts to date, have been focused on ensuring that the Orion Proxy can reliably proxy Level 4 and Level 7 traffic. In future, we plan to shift our objectives and implement more features that will make Orion Proxy more robust, reliable and straightforward to operate in production environments. In the short term, we want to provide features such as access logging, metrics with open telemetry, and support for HAProxy and Websockets protocols. |
16 | 16 |
|
17 | 17 | ## Current and Past Contributors |
18 | 18 |
|
|
0 commit comments