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