A | B | C | D | E | F | G | H | I | J | K | L | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Type | Feature | Description | Application scenarios | Pb on the Istio | priority | issue | status | assignee | |||
2 | Load balance | original_dst | Forward the request based on the real destination address of the connection | In the Istio transparent hijacking scenario, if no matching listener found via the original_dst filter, it will directly forward the request by original_dst _lb | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster.pb.go | p0 | https://github.com/mosn/mosn/issues/982 | Done | ||||
3 | WRR | weight round robin | Load balancing according to machine weight | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster.pb.go | p2 | https://github.com/mosn/mosn/pull/1161 | Done | |||||
4 | least req | Choose the machine with the lowest number of requests to forward | Load balancing according to the number of machine requests | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster.pb.go | p2 | https://github.com/mosn/mosn/issues/1054 | Done | |||||
5 | Maglev | Consistent hash based on the request info | Keep the session | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster.pb.go | p2 | https://github.com/mosn/mosn/pull/1118 | Done | |||||
6 | Protocol | WebSocket | Implement Websocket protocol upgrade | Websocket proxy forwarding | p3 | TBD | ||||||
7 | gRPC | gRPC protocol | gRPC protocol | p3 | TBD | |||||||
8 | UDP/QUIC | support UDP/QUIC | proxy forwards the UDP/QUIC request | p3 | https://github.com/mosn/mosn/issues/1062 | UDP Done | ||||||
9 | xDS | xDS adapter | Adapt to Pilot's xDS API | Manage MOSN by Istio | p0 | https://github.com/mosn/mosn/tree/feature-istio_adapter | Done | |||||
10 | Service governance | Fault Injection | Injecting an delay or abort fault | Simulate the application of exception scenarios, can inject timeout, request abort, etc | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/config/filter/http/fault/v2/fault.pb.go | p0 | https://github.com/mosn/mosn/pull/1063 | Done | ||||
11 | limit req | limit request | limiting protection | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/ratelimit/ratelimit.pb.go | p1 | https://github.com/mosn/mosn/pull/1111 | Done | |||||
12 | Passive health check | If the number of errors exceeds the threshold within the specified time range, and the machine will be considered unavailable within the specified time range | Passive health check, disable abnormal service | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster/outlier_detection.pb.go | p0 | https://github.com/mosn/mosn/issues/1055 | Done | |||||
13 | Circuit Breaking | Limits on the maximum number of connections or requests or retries for cluster | Services to protect | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster/circuit_breaker.pb.go | p1 | https://github.com/mosn/mosn/issues/395 | Done | |||||
14 | External Authorization | External Authorization | Request authentication based on external authentication service (that is, MOSN provides a registration framework for authentication service and supports multiple external authentication services) | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/config/filter/http/ext_authz/v2/ext_authz.pb.go | p2 | https://github.com/mosn/mosn/issues/1056 | Done | |||||
15 | Traceing | Service observability | Service observability | p1 | https://github.com/mosn/mosn/issues/1027 | Done | ||||||
16 | Traffic mirror | traffic mirror | traffic mirror | https://istio.io/latest/zh/docs/tasks/traffic-management/mirroring/ | p1 | Done | ||||||
17 | Enhance rewrite | regex_rewrite host_rewrite | Rewrite the request's uri and host etc. | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/route/route_components.pb.go | p1 | https://github.com/mosn/mosn/issues/1191 | Done | |||||
18 | Framework extension | listener filter | Optimize the listener filter framework | Support listener filter registration | p1 | https://github.com/mosn/mosn/pull/1014 | Done | |||||
19 | Strict DNS cluster type | Support STRICT_DNS type Cluster, load balancing through all A records of domain | Service discovery by DNS | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster.pb.go | p1 | https://github.com/mosn/mosn/pull/1149 | Done | |||||
20 | Logical DNS cluster type | Dynamic resolve domain and using only one A record | Forward proxy by domain | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/api/v2/cluster.pb.go | p1 | https://github.com/mosn/mosn/pull/1005 | Done | |||||
21 | Programmable capability | Lua | Support Lua | Support Lua | https://github.com/envoyproxy/go-control-plane/blob/v0.9.4/envoy/config/filter/http/lua/v2/lua.pb.go | p2 | TBD | |||||
22 | Wasm | Support Wasm | Support Wasm | p2 | Done | |||||||
23 | others | gzip filter | Support gzip response body | Gzip | p2 | https://github.com/mosn/mosn/pull/1151 | Done | |||||
24 | pilot-agent probe | Support serverinfo api | Pilot agent health check | p0 | https://github.com/mosn/mosn/issues/1057 | Done | ||||||
25 | istio.stats filter | Metrics support custom Lables | Metrics support custom Lables | p1 | https://github.com/mosn/mosn/pull/1209 | Done | ||||||
26 | parameter extension | Parameter extension | Compatible with pilot starting mosn | p0 | https://github.com/mosn/mosn/issues/1023 | Done | ||||||
27 | Istio | image build | Make proxyv2 image building operations universal | Build proxyv2 image for multiple data planes | p1 | https://github.com/istio/istio/issues/24457 | Done | |||||
28 | test framework | Modify istio test framework, make one test cases could run any data plane. | One test framework could testing multiple data planes | p1 | https://github.com/istio/istio/issues/24463 | WIP | ||||||
29 | ||||||||||||
30 | ||||||||||||
31 | ||||||||||||
32 | ||||||||||||
33 | ||||||||||||
34 | ||||||||||||
35 | ||||||||||||
36 | ||||||||||||
37 | ||||||||||||
38 | ||||||||||||
39 | ||||||||||||
40 | ||||||||||||
41 | ||||||||||||
42 | ||||||||||||
43 | ||||||||||||
44 | ||||||||||||
45 | ||||||||||||
46 | ||||||||||||
47 | ||||||||||||
48 | ||||||||||||
49 | ||||||||||||
50 | ||||||||||||
51 | ||||||||||||
52 | ||||||||||||
53 | ||||||||||||
54 | ||||||||||||
55 | ||||||||||||
56 | ||||||||||||
57 | ||||||||||||
58 | ||||||||||||
59 | ||||||||||||
60 | ||||||||||||
61 | ||||||||||||
62 | ||||||||||||
63 | ||||||||||||
64 | ||||||||||||
65 | ||||||||||||
66 | ||||||||||||
67 | ||||||||||||
68 | ||||||||||||
69 | ||||||||||||
70 | ||||||||||||
71 | ||||||||||||
72 | ||||||||||||
73 | ||||||||||||
74 | ||||||||||||
75 | ||||||||||||
76 | ||||||||||||
77 | ||||||||||||
78 | ||||||||||||
79 | ||||||||||||
80 | ||||||||||||
81 | ||||||||||||
82 | ||||||||||||
83 | ||||||||||||
84 | ||||||||||||
85 | ||||||||||||
86 | ||||||||||||
87 | ||||||||||||
88 | ||||||||||||
89 | ||||||||||||
90 | ||||||||||||
91 | ||||||||||||
92 | ||||||||||||
93 | ||||||||||||
94 | ||||||||||||
95 | ||||||||||||
96 | ||||||||||||
97 | ||||||||||||
98 | ||||||||||||
99 | ||||||||||||
100 |