Thanks. > Is this the repo for the project: github.com/api7/apisix-mesh-agent <https://github.com/api7/apisix-mesh-agent> ?
No, that project can be understood as directly putting APISIX into sidecar. But in fact, no changes have been made in APISIX. This is what I want to differentiate in this Proposal as well. I used `native ability` to differentiate. Navendu Pottekkat <navendupottek...@gmail.com> 于2022年3月11日周五 21:05写道: > This is great to see. It makes a lot of sense to not build a separate > service mesh but instead be a replacement to Envoy in Istio. > > I think this will make Istio much more extensible and will provide a lot > of value to the user if we could build and use custom APISIX Plugins in > the data plane. > > Is this the repo for the project: github.com/api7/apisix-mesh-agent > <https://github.com/api7/apisix-mesh-agent> ? > > Looking forward to see this in action. > > - Navendu > > On 11/03/22 5:47 pm, Jintao Zhang wrote: > > Background introduction > > > > Service mesh is currently the most popular architectural pattern. > > Especially for the microservice architecture, it is very effective. It > can > > be used to manage east-west traffic, improve security, etc. > > > > Apache APISIX is a cloud-native high-performance API Gateway that can > also > > be used to manage north-south and east-west traffic. > > > > However, if the deployment scenario is limited to the Kubernetes cluster, > > we will find that the service mesh solution is more natural and flexible. > > > > So I want to *bring Apache APISIX to the service mesh world*. > > > > There are already multiple solutions for service meshes, and there is not > > much value in implementing a completely new solution. > > > > I would like to choose Istio[1], the most popular service mesh solution, > as > > the control plane. > > > > Uses Apache APISIX as its data plane[2]. > > *Value* > > > > This will generate a lot of value. > > For APISIX *Community* > > > > Introducing Apache APISIX to the service mesh world allows it to have > more > > use cases, especially in east-west traffic management, security, and > > observability. > > > > Integrating with Istio is also easier to adopt. > > For Istio *Community* > > > > It can enrich the ecology of Istio. Currently, the default data plane of > > Istio is Envoy[3], but the learning cost of Envoy is high, and it is more > > complicated to expand and maintain it. > > > > In addition, we have done a comparison, APISIX's performance is better > than > > Envoy. > > > > APISIX and Istio integration, allowing users to have more choices. > > For end-user > > > > We choose Istio as the control plane and only replace the data plane, so > it > > is insensitive to user migration. Of course, we will also conduct > > compatibility testing to make this process more secure and reliable. > > Architecture design > > > > ``` > > |Control-plane--------------------+ > > | | > > | | > > | Istio | > > | | > > +----------------+----------------+ > > | > > | > > > +-------------------------+-----------------------+ > > | Discovery > | > > | Configuration > | > > | Certificates > | > > | > | > > | > | > > +-------------v------------------+ > > +------------------v-------------+ > > | | | > > | > > | +----------------------------+ | | > > +----------------------------+ | > > | | | | | | > > | | > > | | +--------------+---------+ | | | | > > +--------------+---------+ | | > > Ingress | | | | | | | | | | > > | | | | Egress > > --------------+-> | | Amesh | +-+-----------+-> | > > | Amesh | +-+--------------> > > Traffic | | | +---------+ | | | | | > > +---------+ | | Traffic > > | | |APISIX | | | | | |APISIX > > | | | > > | | +------------------------+ | | | | > > +------------------------+ | | > > | | | | | | > > | | > > | +-----+--------------^-------+ | | > > +-----+---------------^------+ | > > | | | | | | > > | | > > | +-----v--------------+-------+ | | > > +-----v---------------+------+ | > > | | Service A | | | | > > Service B | | > > | | | | | | > > | | > > | +----------------------------+ | | > > +----------------------------+ | > > | | | > > | > > +--------------------------------+ > > +--------------------------------+ > > ``` > > > > > > > > concept: > > > > - Amesh: It is a Go program that interacts with Istio for the xDS > > protocol. Will be compiled into a .so file and embedded in APISIX. > And the > > configuration will be written directly to the shdict of APISIX. > > - APISIX: It will read configuration from shdict and no longer need > to > > rely on storage like etcd. > > > > *Deliverables* > > > > When this goal is achieved, we can deliver the following two parts > > Amesh > > > > As mentioned above, this is a Go program that will do the mapping of > Istio > > functionality and APISIX configuration > > APISIX > > > > APISIX will modify how the configuration is read. Allows getting > > configuration information from shdict. > > *Development Roadmap* > > > > TBD > >