当前位置:网站首页>It's amazing! Ali senior architect 20 years of experience, collate and share servicemesh actual combat documents, pay rise is bad for this article!

It's amazing! Ali senior architect 20 years of experience, collate and share servicemesh actual combat documents, pay rise is bad for this article!

2020-11-09 12:58:00 osc_61i1fz2h

Preface

CNCF The cloud primordial concept proposed in this paper has been derived from Alibaba、Google、IBM、Pivotal And the support and participation of the company , The core driving force behind it is to create “ Factual standard ” To solve the lock-in problem of cloud manufacturers to customers .

The nature of cloud primitiveness , It is to solve the elasticity of application (resiliency)、 Ease of use (usability) And portability (portability). When this “ Sexuality ” When it's settled properly , Customer developed ( Distributed ) The application can be convenient 、 Efficiently deploy on cloud services provided by multiple cloud vendors at the same time , This not only solves the technical lock-in problem that customers are worried about , It also makes the application meet the regulations well ( It refers to the requirement that some applications that affect the national economy and people's livelihood must be deployed on the cloud of multiple cloud manufacturers at the same time )、 The harsh demands of global liveliness .

Solving “ Sexuality ” On the road ,Service Mesh Software infrastructure seen as a new generation of distributed application architecture , And is explicitly written into the definition of cloud native concept .Service Mesh It can be understood as a microservice software architecture (microservices) Further extension of , It is used to solve the multi language support faced by large-scale microservice applications 、 Service global optimal governance 、 service ( The global ) Discovery and routing 、 Security and other challenges of key technical means .

Open source software Istio Appearance , It is expected to become a cloud native Service Mesh The software fact standard of .Istio The proposed “ Data plane ”(Istio Medium Pilot-discovery、Mixer And so on ) and “ Control plane ”(Envoy) Through a good concept segmentation, practice the ultimate paradigm of software industry to solve complex problems —— Divide and rule , these two items. “ Plane ” Plus “ Operation and maintenance plane ”(Service Mesh There is no definition of ) It will be able to help solve the problems that cloud natives are committed to “ Sexuality ” problem .

Service Mesh The highest level of distributed applications is to let them not pay attention to services ( The global ) Discovery and routing 、 Current limiting 、 Downgrade 、 Fuse 、 Security and other general issues , But achieving this goal is not achieved overnight , This requires colleagues to learn together in their respective positions 、 Use and achieve this technology .

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

This paper is a detailed explanation of grid service technology .

The emergence of this paper can help readers better understand Istio As a representative of the ServiceMesh Technology behind the design ideas and understanding of the phased exploration results .

Also hope to be able to get everybody to like !

Catalog

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

primary coverage

This article shows the role of soft load in distributed architecture from the perspective of beginners , Leading role in container Era Kubernetes;

And then from the routing level, we will carry out a comprehensive analysis of Service Mesh And Istio System introduction and in-depth analysis of , Including its functions and features ;

Finally, through the source analysis, from the implementation details of the analysis Istio Several key designs for . Whether you're a beginner with soft load , Or an architect with some experience , You can find the practical content you want in this article .

This paper is mainly divided into 7 Chapter I will introduce you to , I hope you can study it carefully !

The first 1 The history of distributed development , Looking back on the history of computer development , It can be found that the development of distributed network is very similar to the development of computer network . They all go through nodes, from less to more , The process of forming a network from many .

TCP/IP Protocol was born to solve the problem of connecting computers , Although it was a product of decades ago , But today it is still the basis of computer network transmission , And in most cases, you don't need to be aware of it . Service governance faces similar problems : From the beginning of single machine to cluster and then to the era of micro service , Hardware costs are getting lower and lower , The number of services is growing exponentially , Make the call relationship more and more complex , At this time, engineers need a way to effectively manage these services and call relationships ;

History is strikingly similar , But now we are no longer faced with how to effectively connect computers , It's about how to connect services transparently .

In order to make the development of upper business easier , Engineers need to come up with a plan , Hide the underlying details better , Imperceptibly changing underlying services —— This plan is Istio. After “ clustering ”“ Reverse proxy ” And “ Bypass load ” The evolution of the first three generations , Soft load ushered in the fourth generation “ Service Grid ” framework , Its unified and transparent architecture provides comprehensive support for service governance , And highly scalable .

The next few chapters , The author will use the most widely used Istio Explain the implementation principle of service grid in detail , At the same time for you to analyze Istio Architecture design .

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

The first 2 Chapter Service Mesh: With Istio For example . This chapter starts from scratch Istio Basic functions of , And from the aspects of architecture and function module, it gives a brief introduction . Undeniable? ,Istio It is the most mature open source solution in the field of service grid , The reason is Google Of CNCF Open source base

Kim led , Now it's launched 1.0 Official version , Compared with other service grid implementations —— for example Conduit—— It's the closest to the production environment , That is, it will be put into production soon .

Istio It not only provides routing and addressing functions for traditional soft loads , The link itself is integrated into its management system , This allows the business to use it completely transparently . For example, the link tracking function, which is widely required by the service, is provided , In the past, the business side had to access the client —— Many changes to the code , At least add a proxy . No matter which one, business engineers need to pay attention to and deploy online .

Istio adopt Sidecar Will the entrance and exit traffic all senseless hijacking agent , coordination Pilot Configuration and strategy of unified distribution , Control the traffic of each service in a unified way , In order to realize such as “ flow control 、 Authentication 、 Multi version service ” And so on . These can be extended in the form of plug-ins ,Mixer The extension interface for this has been fully designed . At present, support has been given to Promethus、Hespter And so on , If necessary , You can also press Mixer The interface standard for more three-way extensions .

so to speak Istio The expected goal of service grid is fully realized , And it's platform independent . Although I say Istio And Kubernetes They're all products of the same company , Theoretically, of course Kubernetes Our support is the best , however Istio The designers are not satisfied with this ,1.0 The version has been added to Consul+ Virtual machine environment support , I believe there will be more in the future , For example, the native cloud platform ——GCP(Google Cloud Platform)、AWS etc. .

 

The first 3 Zhang understands Istio Service Grid , In the 2 In the chapter , The author gives a general introduction to Istio The core components of , And their functions are introduced one by one , for example “ Traffic assignment 、 fault injection 、 Authentication ” etc. , It's all Istio Most basic 、 Core functionality , It is necessary to form a data service grid .

This chapter will provide an in-depth understanding of the components described in the previous chapter , To reveal Istio As the absolute advantage of the basic technology stack after sinking , Feel its excellent design idea fundamentally , Let's understand why the service grid is so popular .

Besides , The previous chapters talk about Istio Is a highly scalable service grid ecosystem , Many excellent open source projects , for example Grafana And Prometheus, Can be directly adapted to their ecology , Only need to Istio The defined extension interface can be simply adapted , This makes its vitality further improved . therefore , This chapter will also explain to you Istio The idea of functional expansion of .

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

The first 4 Chapter lstio The surrounding ecology is at a glance ,Istio The greatness of , It's not the design itself , But it's an inclusive Ecology . It provides a new way of development and operation and maintenance for the whole industry . Except for 3 Chapter on routing 、 Security and configuration requirements , Distributed services have many problems to be solved at the link level , Such as link tracking 、 Distributed log 、 Monitoring and alarming 、 Pressure test drill 、 Fault injection, etc . If you let Istio Official to implement all the functions , Not only time-consuming , It also makes the whole system very bloated .

From the earliest DLL ' Up to now Docker Layered image , The core of software efficiency is reuse . Only standing on the shoulders of giants can we walk faster and farther , This is a basic principle ; But some people still don't think so , I always think I'm doing better , Constantly reinventing the wheel , It's puzzling .

The first 3 Chapter talks about Istio Have a strong ability to expand , adopt Mixer It can connect with many three-party extensions ; It's also very easy to use extensions , All thanks to that Mixer The design idea of centralized control , each Sidecar All traffic needs to be from Mixer check , The next step can only be carried out after the test is passed . In this design , The extension only needs to be connected well Mixer Provided interface , Business systems can be used without any changes .

This chapter will focus on the actual scene of the enterprise , Introduce to readers Istio Some of the most commonly used components of Ecology . These components include link tracking 、 journal 、 Monitoring and traffic scheduling , It has covered the typical needs of small and medium-sized enterprises . After reading this chapter , You'll find that , With Istio, A lot of operation and maintenance and basic environment work has become very simple , Developers can spend more time on the business code itself , Not in the maintenance of the environment .

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

The first 5 Chapter lstio Part of the source code analysis , In the first four chapters , The author introduces comprehensively Istio, You have mastered the service grid (Service Mesh) Its working principle and advantages in distributed architecture, especially in microservice architecture ; But for the Istio Code implementation of , Not yet . Start with this chapter , I will lead you to a deeper understanding of Istio Logic and structure at the code level , To show some of its design ideas .

I talked about it before. ,Istio It's an ecology , At the beginning of the design, we started from the platform thinking . Its design philosophy is , In the microservice architecture, there are many scattered service nodes , adopt Sidecar This kind of noninvasive way to string together , Form a big net , It's called service grid . because Sidecar The existence of , The extension components for the link can be involved in it in the form of plug-ins , So the advantage of the service network itself lies in “ Noninvasive flow connection ”, The complex logic related to links is completely shielded from service developers .

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

The first 6 Chapter service grid enterprise practice . This chapter is the last chapter of this article on service grid , I wanted to introduce you to Istio Practice in the enterprise , But the author found that after communicating with the engineers of major companies , None of them used native Istio, The reason is that RPC This historical problem is too difficult to transfer , It's not a system, it's not a solution , It's a link to all business systems . It's impossible for an enterprise to use RPC Switch to Istio Advocated by HTTP perhaps gRPC, Because there are various middleware adaptation problems in the original system , For example, the configuration center cannot migrate it to Istio Of ConfigStore in .

Enterprises need a service grid product close to the domestic production environment , therefore , In this chapter , The author chose to open source ant financial services in China SOFAMesh, This paper introduces an enterprise's way to upgrade in the wave of service grid .

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

This 【Service Mesh actual combat : use Istio Soft load realizes service grid 】 share 284 page , Need a full version of friends , You can forward this article and pay attention to the editor , Scan the code to get !!!

Experts strongly recommend learning

 Ali senior architect 8 Years of experience ServiceMesh Practical documents

 

I hope you can have a comprehensive and in-depth understanding of soft load and service grid technology through this book , And can be flexibly used in the daily architecture work ; And for some friends who are engaged in front-line development work , I believe from Istio Architecture has learned a lot of excellent patterns and techniques .

I believe readers have already realized , This article is not “ Operation manual (Cookbook)” Class books , I want to introduce this idea to you , Take a look at how the service grid improves its ecology step by step .

I hope this article can help you to improve , And be able to use what you've learned , Constantly improve the depth and breadth of their technology , Make yourself more valuable , Also hope to be able to get everybody to like !

版权声明
本文为[osc_61i1fz2h]所创,转载请带上原文链接,感谢