 Well, we can start now and today we are going to talk about the mixer and from another perspective Okay, we're all apart from the mixer without the mixer, so how to avoid to observe the observability And I'm Hu Sheng and Zhou Lijiao Actually, we are a kind of service mesh company, a commercial delivery in America First of all, I'm my partner, Zhou Lijiao, well, do the inspection to tell you what kind of services and characteristics we are using And I will just tell you about how can we achieve the following capabilities regarding it Hello everyone, I work in Tetris And I was born overseas, so I'm not accustomed to different speech in Chinese This is my second time, so this is my second time doing the speech in Chinese So first of all, I'd like to introduce what is envoy I think maybe some of you are familiar with what is service mesh and what is envoy And I would like to talk about some of the observability of envoy And also, Hu Sheng will just tell you how to connect envoy and its deal to skywalking First, what is service mesh? Actually, service mesh by connecting the network and to make it transparent to applications So many of the common functions needed in the network, including the connection pool And this kind of function can be done in envoy And envoy can just replace many of the filing applications to achieve the function needed in the network So these are for the general service mesh A common thing is to use the envoys to set car proxy and to put in every service part And then for every service and application through this kind of envoy service proxy to communicate And envoy, I have said it in my previous introduction What is another other process architecture? I know we achieve it through C++ and to achieve the high performance with low latency code base It has many filter architectures and also has support for the HTTPL7 filter architecture And also as for the service discovery and kind of observability, what is the emphasis we're going to put today? As well as the authentication, authorization and edge proxy So these are the general architecture of envoy You guys will see it in other places And listen to the filter So what kind of filters we need in this and this can provide more information to it With a kind of encoded filter and to do it in different ways to encode this kind of linkage And we will use TCP and also to in our support service in like other double L7 array filters So actually once you understand the L7 It will provide more observability For example, how many requests, how many responses and the login will also be much more improved And these are one character of envoy, that is the API Which is a control plane and to provide a different configuration for envoy And listen to discovery service, cluster discover service and root discover service And in terms of observability, there are two services One is metric service and another one is access log service And we have the trace service which is we haven't fully finished it And today I will mainly talk about the metric service and the access log service To achieve the envoy and the skywalking connection As per observability, now let's first look at the metric service Actually which is a very easy service We'll just identify one and this is that the stream And we can see these metrics is using structure from a this Which means that which envoy and which cluster is this envoy and to identify the And as for the access log service is very easy too, it's similar And we can just HTTP and access log entries as example Which we can see for every filter We can add some of the unique data in it And also to add one add to the fire This is the streaming to this log service So in skywalking, we have an MMR check receiver This is expensive function of skywalking I mean the support of the skywalking to support the metric service and access log service So if you want to connect MMR to the skywalking What you just said to send to this service, access log service Because I've mentioned in access log service is mainly in the HTTP connection So in every listener, the connection manager needs to be realized Next I'd like to invite Wusheng to tell us how we can receive this data in skywalking Wusheng have told us about two services we are going to use And these two services we can simplify them We just got two data One is the envoy connection, the app and some of the regular information As for the access log Actually we are getting the kind of other information We usually use ISO to manage the kind of orchestration of envoy So whether it is tracer on metrics or on many topology by many of the producers At the very end of last year and the beginning of this year if you want to In some open source community to propose this adapter You want to do the mix adapter If you want to do the inputs adapter You will find that actually it's still a team Who will not clearly receive this VR They want to tell you to achieve 5 plus adapter What is 5 plus adapter? Which is the issue on one filter to send the data to the mixed server And according to your information to send it out So actually it leads to kind of bypass So actually skywalking is the only one that can achieve 5 plus adapter in the open source community During this process actually mixed server doesn't do anything It's kind of like just a route And in a lot of other cases the concern of most people Is the performance of mix adapter and the mixer And it's still a mixer So the performance concerns actually for instance the envoy filter cost It has more CPU It needs more CPU of envoy And if you actually look at the filters The most complicated thing is that it needs to actually put more information inside And what are the sources and destinations and in the mixer So the metric you could actually see You would receive the information about the source and destination And also during the And also another problem is latency of RPC We need to actually have this issue be high the procedures and latency is cannot be avoided And the mixer actually has done a lot more than zipping And in terms of the tracing And a mixer is more complicated You can see that the elementary it collects more data And the second concern among people Is that when is still One still uses to use to bypass But there would be unnecessary cost when using bypass And whether it's just a little A little more cost than people would still consider it unnecessary And also the third concern is the is still filter to server It's kind of like protocol is quite complex And we have this complex attribute report protocol And the is still team is trying to lower the complexity It's still not user friendly enough So if we say that we don't want a mixer And what is the things that we need to do in terms of availability And availability is like include matrix not And tracing So tracing is not mysterious So we all know how to do it And we need to You have SDK and then I need to have agent And then we need to go into this kind of like process And the matrix So there are two main matrix Whether it's be it Prometheus or other systems It means not mean So the matrix have not timelines and then we also have to polish So mixer actually provides much more powerful capability In terms of the topology So for envoy matrix surface So on the basis of Prometheus Actually you could get all the envoy matrix And your application can get to do APM system Including Prometheus or other systems But if we do not want those And how can we match And if we don't change anything How can we get the topology that we want And all the values of the matrix that we want So if we take out mixer What are the other options So skywalking is an open source project And it can have C++ plugin And it can add filters inside And also through tracing And analyzing tracing And three years ago through the foundation until today And it can do all the tracing And details of tracing And this is just open source APM system That's the first option Second So we can actually implement the Esteele attribute Protocol Which is quite complex as mentioned So it's complex It's just relative But not mission impossible So it's just a protocol anyway But then if we can implement the Esteele attribute protocol The viewshare is still working So the Esteele's filter Is probably cannot be addressed And the impact on latency and etc Are still there The third option is LS So what is LS? So whether you are be it Like if you are familiar with Envoy Or other gateways Access log Is actually the log approach of every request Is it a service? And it is 3DS, not a prior So it has access log and access log service So actually they are saying Like from certain perspective So Envoy So you can see They actually have two different rows That you can have a sidecar Or ingress Those two different methods So if you look at mesh topology And the sidecar is the application behind it And it's kind of like an agent And then if it's gateway Envoy itself is the service So we want to show the topology The topology that you want to have is totally different And the first problem that you need to solve Is need to address Is to tell whether it's ingress or sidecar But Envoy actually doesn't know But fortunately we still have Esteele Esteele is a pilot When they name every Envoy They have quite a regular pattern So for instance the pattern Includes the name of the network And actually they contain Very important information If it's ingress It is named the rotor If it's sidecar It's named like a sidecar So you can see the naming pattern here And to realize what actually what it is And also we have different requests And we have inbound and outbound And client sidecar And it's also Like Esteele is controlling Envoy That's like If we just run a normal Envoy It doesn't look like this And inbound outbound Is that like we tell Envoy Which is outbound and which is inbound So LS Like actually we can activate it anywhere But then if we want to Actually make the visibility work We need to have like this mesh And follow all the rules of Esteele All the controlling rules And for instance the naming and everything You cannot have your own Envoy That you can assume that it would work It doesn't work that way actually I just skipped the previous slides because Like a lot of things are specific On the Kubernetes platform That you could see that We have one very special thing Is that something that you wouldn't see Wouldn't normally see So this is the data Here that you could see Doesn't have the concept like And what you need to do Is that you will see the IP here And for the service mesh and the Kubernetes What are the features So it is like specific In a specific time So there would not be two ports Sharing one IP So every IP is specific Is distinctive And if you can have like two Cards taking a similar Or a same IP It's not what we are looking for So if we look at any monitoring system We can only receive IP Of the service And for the We don't know the progress of that So actually the IP is the most important thing We need to get the IP to locate What is the original service And like for instance the data of Service A and service B So when we try to pull out the data And on each topology That the data is generated by ALS So I want to tell you specifically that There are different cases Ingress So it has a special row For every incoming request It will have a specific ALS So in auto topology you will have two lines Because ingress itself is a service You need to have this kind of like You need to visualize its incoming and outgoing To make sure that it is an independent service And then service side side card So it's service side metrics And also We can show that who is Pulling out the data Who is collecting the data And also there's something specific That when you use ingress to pull up the side card Ingress is It will actually go through the IP address And You cannot generate this line And on this line this will only have Ingress for the target service And the service Cannot trigger the ingress So this is from Only can we achieve the one side And the client side side card is the same So we just talk about How can we identify those How to abstract But then we also have this kind of Like open source Apex guide Working so you can See the project repo here By visiting this website And all the metrics and websites So this is all we want to share If you have Any topics that's related Or any questions that you want to ask Please don't hesitate to raise your hand So actually I do have a question The first one is that Avoiding mixer So observability Of the store So Can you also cover the observability Of the notes and can you Oh yes, it's actually the same as consistent The second question I have is that We cannot have Like just a standard employee You'd still need An easter On the enlias And have this easter So you don't need a filter Actually You need a pilot So actually For easter itself It's our proxy We will have this Envoy and also the mixer Shorter And we don't need shelter For that part As Wensheng mentioned What is the naming rules And pattern and everything The identifier we need to give it to the envoy And if you use other envoy You will have You don't have a consistent naming pattern The rules So we want to use a pilot To identify us To achieve the result So that's How much I only need To replace it The current envoy that I'm using To the standard envoy Is that right So in theory it works But we haven't tested So but I think You don't need to Change it into Envoy because There's no instill filters So how can I Lower the cost Of filters So in the configuration If there's no Instill filter So you can just turn off And it will not Generate any cost Have you ever compared to the performance So I think a mixer Is quite slow So if I turn off filter So actually We haven't done any large scale testing So we don't have this kind of Application case scenario So for a single node LS If we You actually have tested Single node The performance So we will have An extra of 10 to 15 Extra cost, that's what we noticed So actually it has A lot of things to do With the traffic as well And the cost We will have an extra cost of CPU About 10 to 12% And there was No impact on the latency And mixer Is just Not only about the Mixer, but also about the latency So thank you very much Not working So we have two Things The ES is the Or the core Because Which The topology Doesn't work in logic The tracking So this is The basic logic Is that After the second Search The next batch Will be better But for these ES The performance Will be much more than More than So it is as Bigger After running for a while Because Is that Because You have station Matches cannot be Safe forever Several minutes Several hours Several days Actually it is a big pressure So We have Very big Cluster is quite big We didn't find What is the problem Because there Are not specific size Of the division But many people ask for it And our solution now Is Just to Relate these kind of Indexes Instead of The data That is the ES2DL And only Is that in the level Like base So You can Not only delete the indexes Everything The data needs to Be able to work off At least one day If it only can be Work for several hours It cannot work So I want to see the observability And the topology Actually Just shut down all the things In mixer, yes All the mixer related Can be turned off As the plane Mentioned just now Is still Still needs to be Made of pilot Still needs to be maintained Only can delete all the If you Even don't want the pilot Actually As long as you can Just obey the rules and You can identify the Gateway of the sidecar And People as DS can also Have the same function Is also fine I'm just saying that This is a much easier way So as for the As Open source So it's going to be Working document There is one point It needs to Manually change the code These are A function of the IOS In the pilot It cannot achieve Our PR cannot be fully Integrated And what it doesn't Needs to be done The IOS Will start Working on Long time ago Hello Actually Where is it Is it possible That we can do it In a relatively standard Of Regular way To achieve it As an I Actually it's Uncomplicated because For as an I you need to ask The issue What I'm saying is that Are we considering Skywalking Standardize the metrics If the next version of Skywalking It might not work For us Actually it's the first time We're telling everyone About this plan we have Two of them are mining And some more have told us We have to do it Previously we didn't Then any kind of But I'm saying it publicly That with the We'll do the Other Things or issues Actually It's too early for us I think But maybe Time for everyone to Accept it There's Official Just If you can try it To shut down the mixer And to Actually what I'm telling You Today we will just turn it Into the plan and go to the Block and it will tell What about the QR You know that once you Know Because it's the The The I will tell you About this and And to change One or two