Service grid: Micro-services into the 2.0 era

Source: Internet
Author: User
Tags linkerd
Service grid: Micro-services into the 2.0 era

The micro-service, which was first proposed by Martin Fowler in March 2014, has been the most mainstream distributed application solution with the help of various micro-service frameworks such as Spring Cloud, Dubbo, and Prairie Fire, which swept the entire IT technology community. But there are still a lot of problems have not been fundamentally resolved, such as the high technical threshold, the lack of multi-language support, code intrusion is strong. How to respond to these challenges is the primary answer to the next generation of micro-services. All this has been answered until the service grid is presented.
1 The War of Micro service


Time goes back to the early 2017, when all the mainstream micro-service frameworks, whether Finagle, Hystrix, or frame-like spring Cloud and Dubbo, are essentially within an application solution, with the following three questions:


High technical threshold: with the continuous deepening of micro service implementation level, in addition to the basic service discovery, Configuration center and authorization management, the team will inevitably face new challenges at the service governance level, including but not limited to distributed tracking, fusing downgrade, grayscale release, failover, etc., which brings a very high technical requirements to the team.


Photo Source: Service Mesh: Next Generation micro-service (https://servicemesh.gitbooks.io/awesome-servicemesh/mesh/2017/ service-mesh-next-generation-of-microservice/)


Lack of multi-language support: for a small team, especially in high-growth Internet start-ups, the multilingual technology stack is normal, and Cross-language service invocation is normal, but there is no unified, cross-language micro-service technology stack on the open source community.

Code intrusion is strong: the mainstream micro-service framework (such as Spring Cloud, Dubbo) is more or less intrusive to the business code, the cost of the framework is high, resulting in the business team with low intention, micro-service landing difficult.


These problems add up to the result is that in the implementation of micro-service process, small team hold, big companies do not move.
2 Alternative


How to solve the above three problems. The easiest thing to think about is the agent model, which handles all service calls in the LB layer (such as Nginx, Apache HTTP Server), and some service governance issues (such as distributed tracking, fusing demotion). However, this scheme has two notable drawbacks, first, the central architecture, the performance and usability of the agent side will be the bottleneck of the whole system; second, the operation of the complexity of the complex, business team smiled, Yun-Wei team cried.


Is this the Taoyuan?


Services Grid (service mesh) emerged. Since the first public use of Linkerd in September 2016, new frameworks such as Linkerd, Envoy, Istio, NGINX application Platform and conduit have sprung up, after micro-service, The service grid and its side-car (sidecar) model led the IT technology community to the 20,171 year trend.
3 Service Grid
3.1-dollar definition


First, let's take a look at the author of the service grid how William Morgan describes it.


A service mesh is a dedicated infrastructure layer for handling service-to-service communication. Consists of a control plane and data plane (Service proxies act as "mesh"). -William Morgan, What ' s a Service Mesh? and Why do I Need one? (Https://dzone.com/articles/whats-a-service-mesh-and-why-do-i-need-one)


The above statement clearly indicates the responsibility of the service grid, which is to handle communication between services, which is the core of service governance. and a dedicated infrastructure layer these words to the service grid and all the previous micro-service Framework (framework) to clear the boundaries, that is, the service grid independent of the specific services exist, This fundamentally solves the problem of the old micro-service framework mentioned above in terms of multi-language support and code intrusion. And because of the independence of the service grid, the business team no longer needs to worry about the complexity of service governance, and give the service grid processing.


Then you may ask, this is not the same as the agent model mentioned earlier. The difference lies in the unique side-car mode of the service grid. For each service instance, the service grid deploys a side-car process in parallel on the same host, taking over all external network traffic for the service instance (see figure below). This is the bottleneck of the central architecture in addition to Agent mode. At the same time, with the help of good frame encapsulation, the operation cost can be effectively controlled.


Photo Source: What ' s a Service Mesh? and Why do I Need one? (https://dzone.com/articles/whats-a-service-mesh-and-why-do-i-need-one)
3.2 Evolution History


From scratch, service grids can be divided into three evolutionary stages (see figure below). The first stage, each service recount, handles the external communication on its own. In the second phase, all services communicate using a unified class library. In the third phase, the service is no longer concerned with communication details, all to the side of the car process, as in the TCP/IP protocol, the application layer only need to transfer the content to tell the TCP layer, by the TCP layer is responsible for all content to serve the destination, the entire process of application layer does not need to care about the actual transmission of any details.


Z

Photo Source: Pattern:service Mesh (http://philcalcado.com/2017/08/03/pattern_service_mesh.html)
3.3 Time Line


Finally, look back and forth the young history of the service grid. Although the service grid was formally proposed in September 2016, in fact as early as 2013, Airbnb made a similar idea--smartstack (https://medium.com/airbnb-engineering/ smartstack-service-discovery-in-the-cloud-4b8a080de619), but Smartstack limited to service discovery, and did not cause much concern, There are also similar OSP local Proxy for Netflix's Prana and the only product. After the 2016-year service grid was presented, the framework represented by Linkerd and envoy began to emerge and joined the CNCF Fund (Cloud Native Computing Foundation) in 2017, eventually prompting the birth of a generation of upstart istio. 2018, Istio will release the 1.0 version, which may mean that micro-services began to enter the 2.0 era.


Photo Source: Service Mesh: Next Generation micro-service (https://servicemesh.gitbooks.io/awesome-servicemesh/mesh/2017/ service-mesh-next-generation-of-microservice/)
4 Summary


The above is my service grid of some simple introduction, welcome you to my message board (HTTPS://GITHUB.COM/EMAC/EMAC.GITHUB.IO/ISSUES/2) message exchange, and everyone together. Next I will teach you how to build a istio based service grid locally from zero, please look forward to it.
5 References


What ' s a Service Mesh? and Why do I Need one? (Https://dzone.com/articles/whats-a-service-mesh-and-why-do-i-need-one)

Pattern:service Mesh (http://philcalcado.com/2017/08/03/pattern_service_mesh.html)

Awesome Service Mesh (https://servicemesh.gitbooks.io/awesome-servicemesh/)

Service Mesh: Next Generation Micro Service (https://servicemesh.gitbooks.io/awesome-servicemesh/mesh/2017/ service-mesh-next-generation-of-microservice/)

Interpretation of the service Mesh 2017: Crowded phone-in (http://www.infoq.com/cn/articles/2017-service-mesh?utm_campaign=infoq_content& Utm_source=infoq&utm_medium=feed&utm_term=%e6%9e%b6%e6%9e%84%20&%20%e8%ae%be%e8%ae%a1-articles)


Source: http://emacoo.cn/arch/service-mesh-overview/


Copyright Disclaimer: Content Source Network, the copyright is owned by the original. Unless it is not confirmed, we will indicate the author and the source, if there is infringement please inform us, we will immediately delete and apologize. Thank you.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.