> For the complete documentation index, see [llms.txt](https://doczhcn.gitbook.io/linkerd/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doczhcn.gitbook.io/linkerd/index/gai-kuang/what-is-linkerd.md).

# linkerd是什么?

Linkerd是一个用于云原生应用的开源可扩展服务网格。

## 它解决了哪些问题?

Linkerd 旨在解决我们在 Twitter，Yahoo，Google 和 Microsoft 等公司运营大型生产系统时发现的问题。根据我们的经验，最复杂，令人惊奇和紧急行为的来源通常不是服务本身，而是服务之间的通讯。Linkerd 解决了这些问题，不仅仅是控制通讯机制，而是在其上提供一个抽象层。

![](/files/-LHHxf56WwQYBNdNNvlU)

> Linkerd为现有应用增加可靠性和仪器仪表

通过提供跨服务的一致，统一的仪器仪表和控制层，linkerd 可以让服务所有者自由选择最适合其服务的语言。通过分离通讯机制与应用代码，linkerd 可以让您可以对这些机制进行可视化和控制，而无需更改应用本身。

今天，世界各地的公司都使用 linkerd 来加强软件基础设施的核心。Linkerd 负责跨服务通信的困难而容易出错的部分，包括延迟感知负载平衡，连接池，TLS，仪器仪表和请求级路由——让应用代码具备可伸缩性，高性能和弹性。

## 该如何使用?

linkerd 作为单独的独立代理运行，释放其语言和类库要求。应用程序通常通过在已知位置运行 linkerd 实例来使用 linkerd，并通过这些实例代理调用，而不是直接连接到目标，服务连接到它们对应的 linkerd 实例，并将这些实例视为目标服务。

在私底下，linkerd 应用路由规则，与现有服务发现机制进行通信，以及目标实例之上的负载平衡 - 所有这些都是在调整通信和报告指标的过程中。通过依从给 linkerd 发起调用的机制，应用程序代码可以解耦于：

* 产品拓扑知识
* 服务发现机制的知识
* 和负载平衡和连接管理逻辑

应用程序也受益于一致的全局流量控制机制。这对于多语言应用尤为重要，因为他们很难通过类库来实现这种一致性。

linkerd 实例可以部署为 sidecar（即每个应用服务实例一个实例）或每个主机。由于 linkerd 实例是无状态和独立的，因此它们可以轻易适应现有的部署拓扑。它们可以以各种配置的方式和应用程序代码一起部署，而只需要最少的协调。
