Isolate kubernetes pod communication into virtual groups according to pod label, with route fallback support.
Check ☞document☜ for more information.
This project inspired by the "project environment" practice widely used in Alibaba Group, witch allow developers create virtual testing environment cheaply and quickly by reusing many service instances from another testing environment.
+----------+ +----------+ +----------+
ParentEnv | ServiceA | | ServiceB | | ServiceC |
+----------+ +-^------+-+ +----------+
| |
+-----------+ | | +-----------+
SubEnv -> ServiceA' +----+ +----> ServiceC' |
+-----------+ +-----------+
This is a simple example of 2 virtual environments. A ParentEnv contains instances of all the 3 services,
while a SubEnv inherited from ParentEnv only contains instance of ServiceA and ServiceC (record as ServiceA'
and ServiceC'
).
The arrow shows a call sequence "ServiceA->ServiceB->ServiceC", when the request comes from instance ServiceA'
,
it should firstly fallback to hit ServiceB
in the ParentEnv, and finally turn to ServiceC'
in SubEnv.
Contact us with DingTalk: