linkerd
文章平均质量分 83
zhaolin81
这个作者很懒,什么都没留下…
展开
-
linkerd实战(7)load balance负载均衡
概述linkerd 提供客户端负载均衡,包括 p2c, ewma, aperture, heap, 和 roundRobin。接下来让我们来通过示例来说明这几种负载均衡机制。服务提供者之前我们使用ngnix搭建了一个服务提供者示例。为了演示负载均衡,我们必须有至少两个及以上的服务提供者提供相同命名的服务。我们来调整下ngnix的配置。1、新建ngnix配置/etc/nginx/sites-enab...原创 2018-05-09 14:56:04 · 1703 阅读 · 0 评论 -
linkerd实战(4)namerd示例详解
概述之前的linkerd示例中,服务发现和路由都集成在一个进程内。如果你的微服务和linkerd部署为sidecar模式,即一个service关联一个linkerd,那么当大规模部署之后,我们想要修改路由规则就是件很麻烦的事情。默认情况下,配置在linkerd中的dtab(路由规则列表)配合解析器的解析在运行时是无法动态更改的,因此我们可以把这部分功能放到独立的命名解析组件中,则可以实现灵活的动态...原创 2018-05-03 17:42:48 · 1302 阅读 · 0 评论 -
linkerd实战(8)熔断机制
概述熔断器关注禁用那些可能请求错误的会话,从负载均衡器的角度来看,它们充当断路器,当被触发时,临时暂停特定端点的使用。以避免级联错误及雪崩效应导致资源耗尽。在client配置中有两个模块可以被视为断路器:Fail Fast - 会话(连接)驱动的断路器Failure Accrual - 请求驱动的断路器Fail Fast默认情况下,快速失败在 linkerd 中是禁用的,因为在使用少量主机时代理服...原创 2018-05-10 14:58:36 · 1167 阅读 · 0 评论 -
linkerd实战(5)consul服务发现
概述前面我们把服务发现和dtab规则从linkerd放到了namerd中。然而在namerd中我们所用的服务发现都是基于文件系统的io.l5d.fs。接下来我们把服务注册和发现放到consul中,实现动态服务注册和发现机制。安装consul1、下载对应操作系统的consul版本$ wget https://releases.hashicorp.com/consul/1.0.7/consul_1.0...原创 2018-05-04 14:54:25 · 3277 阅读 · 2 评论 -
linkerd实战(6)dtab规则存储到consul
概述上文我们使用了consul作为服务注册和发现中间件,然后将namerd配置为由consul来进行服务查询。但是路由规则dtab仍然存储在namerd的内存中,每次重启namerd之后都需要通过namerctl来创建规则。接下来我们示例如何将dtab路由规则存储到consul kv中。Namerd配置1、修改namerd.yaml配置文件$ vi config\namerd.yamlstorag...原创 2018-05-04 17:27:33 · 757 阅读 · 0 评论 -
Linkerd实战(1)入门
Linkerd是什么Linkerd,在其配置中也会缩写为l5d(缩略中间5个字母inker),其定位是在微服务中作为网络通讯代理,解决服务调用方和服务提供方之间的通讯、服务发现、路由、负载均衡、度量监控、限流、灰度等功能,使微服务更注重业务实现。Linkerd能做什么看一下官方的拓扑图:更典型的应用场景,在服务调用方:服务调用方只需发起基本的rpc请求(例如http请求),linkerd负责服务发...原创 2018-04-27 18:23:43 · 1351 阅读 · 0 评论 -
Linkerd实战(2)示例详解
概述我们用一个step by step的基本示例来动手搭建一个linkerd代理。服务提供方为了简化示例,我们以ubuntu上的ngnix为例,搭建一个最基本的http服务作为服务提供方。sudo apt-get install nginx修改/var/www/html/index.html 内容为 It works!我们来访问一下服务。服务调用方为了简化示例,我们采用http协议,因此服务调用方...原创 2018-04-27 18:25:33 · 3037 阅读 · 0 评论 -
linkerd实战(3)HTTP1.1 Identifiers详解
概述上一篇我们一步一步搭建了linkerd示例,用到了默认的Identifier将服务调用方的请求转换成service name。现在我们来具体了解一下linkerd中Identifier的使用。在linkerd中所有的基于http/1.1协议的Identifier都有一个kind属性配置,不同的kind配置使用不同转换策略对请求进行转换生成service name。如果不配置默认为kind:io...原创 2018-04-28 14:43:05 · 857 阅读 · 0 评论