Linkerd

基于微服务的原生云应用开源“服务网格”项目
授权协议 Apache
开发语言 Scala
所属分类 Web应用开发、 RPC/XMLRPC项目
软件类型 开源软件
地区 不详
投 递 者 夏侯楷
操作系统 跨平台
开源组织 CNCF
适用人群 未知
 软件概览

Linkerd 是一个提供弹性云端原生应用服务网格(service mesh)的开源项目,也是面向微服务的开源 RPC 代理。它的核心是一个透明代理。

linkerd(发音 "linker-DEE")是一个透明的服务网格,旨在通过透明地将服务发现、负载均衡、故障处理,插桩(instrumentation)和路由添加到所有的服务间通信中,使现代应用程序安全可靠,而无需侵入应用内部本身的实现。

linkerd 作为一个透明的 HTTP/gRPC/thrift/ 等代理,通常可以以最少的配置被加入到现有的应用程序中,不管这些应用程序采用什么语言编写。linkerd 能与许多通用协议和服务发现后端运行,包括 Mesos 和 Kubernetes 等预定好的环境。

linkerd 基于 Netty 和 Finagle 构建,这是由 Twitter、Pinterest、Tumblr 和 PagerDuty 等高流量公司使用的经过生产测试的 RPC 框架。

linkerd 由云端原生计算基金会(CNCF)管理。

下图演示了 Linkerd 如何被部署成应用程序实例的服务网格:

  • 安装kubernetes The author selected the Tech Education Fund to receive a donation as part of the Write for DOnations program. 作者选择了Tech Education Fund作为“ Write for DOnations”计划的一部分来接受捐赠。 介绍 (Introduction

 相关资料
  • 最近刚刚接触微服务相关的知识,想问一下微服务与golang推崇的云原生有什么异同,能否从宏观上对微服务与云原生概念进行一个区分?

  • 原文: LINKERD: TWITTER-STYLE OPERABILITY FOR MICROSERVICES 作者: WILLIAM MORGAN, 时间: 2016-02-18 您如何大规模运维现代云原生应用程序?在实践中出现什幺问题,而他们是如何被处理? 在大容量和不可预测的工作负载下,运行基于云原生和微服务的应用程序实际需要什幺,而不会对功能版本或产品更改引入摩擦? 对于所有关于微服务的

  • 在实现基于事件源的微服务时,我们遇到的主要问题之一是聚合响应数据。例如,我们可能有两个实体,如学校和学生。一个微服务可能负责处理学校相关的业务逻辑,而另一个微服务可能处理学生。 现在,如果有人通过RESTendpoint进行查询并询问某个特定的学生,他们可能希望了解学校和学生的详细信息,那么对我来说,唯一已知的方法是以下方法。 > 使用类似于服务链接的东西。一个例子是Api-Gateway在向几个

  • 我想避免使用WebViews从Google获取OAuth代币。(要求用户分享他的联系人、个人资料信息等)。为此我使用了Google Play服务API。 由于我的应用程序是基于云的(逻辑发生在云中),我必须将这些令牌保存在云中。我还必须让用户从多个设备登录(每次从新设备登录时都不需要向他询问谷歌权限) 我试图实现这个谷歌博客中提到的技术。 我尝试了博客中提到的方法。它并没有完全如我所愿工作。我还检

  • 我一直在读关于微服务和事件来源的文章,以及它是如何将服务从另一个服务中分离出来的。有两个概念我不清楚。首先,如果在微服务体系结构中,每个服务都可以独立开发,我们如何解释服务间的通信依赖? 例如,如果服务A和服务B需要通信,那么A需要将一个事件发送到一个中央总线,而B需要监听该事件并根据该事件采取行动,但这似乎会产生很多依赖关系。现在,如果我正在开发服务B,我需要知道服务A可以生成的所有事件。此外,

  • 主要内容:一、网络通信和服务,二、主要流程,三、源码,四、总结一、网络通信和服务 网络通信是整个MySql的基本服务,包括在此基础上衍生的其它相关服务,构成了Mysql客户端和服务端完成交互的主要方式。主要的功能包括: 1、网络初始化和服务初始化:包括参数、服务端和监听等。 2、网络交互模块:数据的收发和控制等。 3、交互协议模块:包含UNIX SOCKET套接字协议、TCP/IP协议,管道和共享内存(Share Memory)协议四种 这三大块基本就覆盖了

  • 我们的项目中使用的是Spring Cloud config server,它有多个微服务。配置服务器就绪后,我们现在将所有微服务的所有属性存储在一个中央git存储库中。每个微服务能够根据应用程序名称和配置文件提取自己的属性文件。我们试图将资源包存储在中央存储库中,并让config-server将这些资源包提供给微服务。我们的资源包包括属性文件,如messages_en.properties、mes

  • 基本 Nest 微服务是一种使用与HTTP不同的传输层的应用程序。 安装 首先,我们需要安装所需的软件包: $ npm i --save @nestjs/microservices 概述 通常,Nest支持一系列内置的传输器。它们基于 请求-响应 范式,整个通信逻辑隐藏在抽象层之后。多亏了这一点,您可以轻松地在传输器之间切换,而无需更改任何代码行。我们不支持具有基于日志的持久性的流平台,例如 Ka