nice idea, I will join the APISIX feature development.

*ZhengSong Tu*
My GitHub: https://github.com/tzssangglass
Apache APISIX: https://github.com/apache/apisix

Jintao Zhang <zhangjintao9...@gmail.com> 于2022年3月12日周六 00:38写道:
>
> I found that my `Architecture design` above was formatted correctly in the
> mailbox, but was messed up on the mailing list page.
> So I provide a screenshot https://s2.loli.net/2022/03/12/JxStYqnEmi758dA.png
>
> Jintao Zhang <zhangjin...@apache.org> 于2022年3月12日周六 00:25写道:
>
> > 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
> >> >
> >
> >

Reply via email to