# Service mesh

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Service_mesh
> Markdown URL: https://mediated.wiki/source/Service_mesh.md
> Source: https://en.wikipedia.org/wiki/Service_mesh
> Source revision: 1324569710
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|Infrastructure layer for facilitating service-to-service communication}}
{{Incomprehensible|date=March 2022}}
In [software architecture](/source/software_architecture), a '''service mesh''' is a dedicated infrastructure layer for facilitating service-to-service communications between [services](/source/Service-oriented_architecture) or [microservices](/source/microservices) using a [proxy](/source/Proxy_pattern).<ref>{{cite book |url=https://books.google.com/books?id=Mg3aDwAAQBAJ |page=39 |title=Mastering Service Mesh: Enhance, Secure, and Observe Cloud-native Applications with Istio, Linkerd, and Consul |author1=Anjali Khatri |author2=Vikram Khatri |year=2020 |isbn=9781789611946 |publisher=[Packt Publishing](/source/Packt_Publishing)}}</ref>

A dedicated communication layer can provide numerous benefits, such as providing [observability](/source/Observability_(software)) into communications, providing [secure connections](/source/cryptographic_protocol), and automating retries and [backoff](/source/Exponential_backoff) for failed requests.<ref>{{cite book |url=https://books.google.com/books?id=jF2yDwAAQBAJ&pg=PA3 |page=3 |title=Istio: Up and Running, Using a Service Mesh to Connect, Secure, Control, and Observe |author1=Lee Calcote |author2=Zack Butcher |year=2019 |isbn=9781492043751 |publisher=[O'Reilly Media](/source/O'Reilly_Media)}}</ref>

A service mesh consists of network proxies paired with each service in an application and a set of task-management processes. The proxies are called the data plane and the management processes are called the control plane. The data plane intercepts calls between different services and processes them; the control plane is the brain of the mesh that coordinates the behavior of proxies and provides [APIs](/source/API) for operations and maintenance personnel to manipulate and observe the entire network.<ref>{{cite book |url=https://books.google.com/books?id=qBvCDwAAQBAJ |page=103 |title=Getting Started with Istio Service Mesh: Manage Microservices in Kubernetes |author1=Rahul Sharma |author2=Avinash Singh |year=2019 |isbn=9781484254585 |publisher=[Apress](/source/Apress)}}</ref>

The service mesh architecture is implemented by software products such as [Istio](/source/Istio), [Cilium](/source/Cilium_(computing)), [Linkerd](/source/Linkerd), [Consul](/source/Consul_(software)), AWS App Mesh, [Kuma](/source/Kong_Inc.), Traefik Mesh, and Greymatter.io. Many service meshes use the [Envoy](/source/Envoy_(software)) proxy on the data plane.<ref>{{Cite web|title=servicemesh.es|url=https://servicemesh.es/|access-date=2021-09-02|website=servicemesh.es|language=en-us}}</ref>

== See also ==
* [Service-oriented architecture](/source/Service-oriented_architecture)
* [Microservices](/source/Microservices)
* [Proxy server](/source/Proxy_server)
* [Kubernetes](/source/Kubernetes)

== References ==
{{reflist}}

Category:Software architecture

{{software-eng-stub}}

---
Adapted from the Wikipedia article [Service mesh](https://en.wikipedia.org/wiki/Service_mesh) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Service_mesh?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
