文档简介:
您在部署完微服务后,可以根据微服务的运行情况进行微服务的治理。
前提条件
已经进入微服务控制台。
概述
1、选择“服务治理”,进入微服务治理页面。
2、单击需要治理的微服务,进入微服务监控页面和治理配置页面。
在微服务治理配置页面支持负载均衡、限流、容错、降级、熔断和错误注入等策略的配置。
名称 |
说明 |
负载均衡 |
当出现访问量和流量较大,一台服务器无法负载的情况下,我们可以通过设置负载均衡的方式将流量分发到多个服务器均衡处理,从而优化响应时长,防止服务器过载。 可以通过新增规则配置负载均衡策略,设置参数支持轮询、随机、响应时间权值、会话粘滞等多种负载均衡策略。 |
限流 |
限流主要解决微服务之间的流量分配问题,保证微服务在自己的资源池运行,互不影响。 l 当限流对象对当前服务实例的每秒请求数量超过设定的值,当前服务实例不再接受该对象的请求。 l 常用的检测方法是请求超时、流量过大等。 l 设置参数包括限流对象、QPS阈值等。 |
降级 |
降级是容错的一种特殊形式,当出现服务吞吐量巨大,资源不够用等情况,我们可使用降级机制关掉部分不重要、性能较差的服务,避免占用资源,以保证主体业务功能可正常使用。 |
容错 |
容错是服务调用者访问服务实例,服务实例出现异常时的一种处理策略,出现异常后按照定义的策略进行重试或访问新的服务实例。 服务调用出错异常时的处理模式。一旦发生异常,服务会根据容错机制来进行尝试重新访问或直接返回失败。 |
熔断 |
当我们发现由于某些原因导致服务出现了过载现象,为避免造成整个系统故障,可采用熔断来进行保护。 熔断在服务请求处理出现异常时产生作用。进入熔断状态后,hystrix会认为被请求的服务已经无法处理请求,在第一时间截断请求直接返回错误给调用者。 hystrix每隔一段时间会尝试访问后端服务,如果服务恢复正常,会退出熔断状态,恢复正常的请求访问。 |
错误注入 |
错误注入策略用于测试微服务的容错能力,可以让用户知道,当出现延时或错误时,系统是否能够正常运行。 错误注入通过延时、错误等方式,供用户测试微服务的容错能力。 |
黑白名单 |
黑白名单的主要功能是为微服务设置黑白名单。 黑白名单是为了改变网络流量所经过的途径而修改路由信息的技术。 |
设置负载均衡
1、单击需要治理的微服务,进入微服务治理配置页面。
2、在微服务治理配置页面,单击“负载均衡”,展开负载均衡详情页。
3、单击“新增”,进入负载均衡策略配置。先选择需要治理的微服务,再选择合理的负载均衡策略,请参见下表。
策略名 |
策略说明 |
轮询 |
支持按照服务实例的位置信息顺序路由。 |
随机 |
提供服务实例随机路由。 |
响应时间权值 |
提供最小活跃数(时延)的权重路由,支持业务处理慢的服务实例接收较少的请求,防止系统停止响应。这种负载均衡策略适合请求量少且稳定的应用。 |
会话粘滞 |
会话粘滞是负载均衡器上的一种机制,在设定的会话保持时间内,会保证同一用户相关联的访问请求会被分配到同一实例上。 l 会话保持时间:会话保持的限制时间,0-86400,单位为秒。 l 失败次数阈值:访问失败次数,0-10。当微服务访问下属实例的失败次数和会话保持时间超过设定的值时,微服务不再访问该实例。 |
4、单击“确定”保存配置。
设置限流
1、单击需要治理的微服务,进入微服务治理配置页面。
2、在服务治理配置页面,单击“限流”,展开限流详情页。
3、单击“新增”,进入限流策略配置页面,限流配置项下表所示。
配置项 |
说明 |
范围 |
限流对象 |
(微服务)访问者。 |
该应用依赖的微服务,下拉菜单可直接选择。 |
QPS |
每秒的请求数。当限流对象对当前服务实例的每秒请求数量超过设定的值,当前服务实例不再接受该对象的请求。 |
0-99999的整数。 |
4、单击“确定”保存设置。
设置降级
1、单击需要治理的微服务,进入微服务治理配置页面。
2、在服务治理配置页面,单击“降级”,展开降级详情页。
3、单击“新增”,进入降级策略配置页面。
4、在降级策略配置页面选择合理的策略,降级策略配置项如下表所示。
配置项 |
配置项说明 |
降级对象 |
选择需要降级的服务,可以具体到方法。 |
降级策略 |
l 开启:开启降级 l 关闭:关闭降级 |
5、单击“确定”保存设置。
设置容错
1、单击需要治理的微服务,进入微服务治理配置页面。
2、服务治理配置页面,单击“容错”,展开容错详情页。
3、单击“新增”,进入容错策略配置页面。
4、在容错策略配置页面选择合理的策略,容错策略配置项如下表所示。
配置项 |
配置项说明 |
容错对象 |
该应用依赖的应用或方法,下拉菜单可直接选择。 |
是否开启容错 |
开启:向容错对象发起请求时发生错误的处理策略,开启后,会根据选择的处理策略处理请求。 关闭:关闭容错策略,即使请求失败也会等到超时后,再返回失败结果。 |
容错策略 说明 当“是否开启容错”配置项设置为“开启”时配置。 |
Failover:在不同服务器上重新尝试建立连接。 |
Failfast:不再重新尝试建立连接,即请求失败时会立即返回失败结果。 |
|
Failback:在同一个服务器上重新尝试建立连接。 |
|
custom: l 同一个服务器上尝试重新建立连接的次数,取值范围0-9的整数。 l 在不同服务器上尝试建立连接的次数,取值范围0-9的整数。 |
5、单击“确定”保存设置。
设置熔断
1、单击需要治理的微服务,进入微服务治理配置页面。
2、在服务治理配置页面,单击“熔断”,展开熔断详情页。
3、单击“新增”,进入熔断策略配置页面。
4、在熔断策略配置页面选择合理的策略,熔断策略配置项如下表所示。
配置项 |
配置项说明 |
取值范围 |
|
熔断对象 |
针对下属的微服务实例,可以具体到方法。 |
该应用调用的服务或方法,下拉菜单可直接选择。 |
|
触发条件 |
手动熔断:即刻触发熔断,且不再调用。 |
- |
|
取消熔断:将已经熔断的微服务实例取消熔断,继续调用。 |
- |
||
自动熔断 |
熔断时间窗:熔断的持续时间,以毫秒为单位。通俗点来说就是让这个实例休息一段时间后,再重新调用。 |
0-99999的整数 |
|
失败率:请求的失败率,以%为单位。 |
0-100的整数 |
||
窗口请求数:发起的请求数。失败率和窗口请求数的条件需同时满足才会触发熔断。 |
1-10000的整数 |
5、单击“确定”保存设置。
设置错误注入
1、单击需要治理的微服务,进入微服务治理配置页面。
2、在服务治理配置页面,单击“错误注入”,展开错误注入详情页。
3、单击“新增”,进入错误注入策略配置页面。
4、在错误注入策略配置页面选择合理的策略,错误注入策略配置项如下表所示。
配置项 |
配置项说明 |
注入对象 |
需要测试容错能力的微服务,可以具体到微服务的方法。 |
类型 |
测试微服务的容错能力类型: l 延迟 l 错误 |
协议 |
访问微服务出现延时或错误的协议: l Rest l Highway |
延迟时间 |
访问微服务出现延时的延时时长,“类型”选择为“延迟”时才需要配置。 单位:毫秒 取值范围:0-3600 |
http错误码 |
访问微服务出现错误的HTTP错误码,“类型”选择为“错误”时才需要配置。该错误码为HTTP标准的错误码。 取值范围:100-999 |
触发概率 |
访问微服务出现延时或错误的概率。 取值范围:0-100 |
5、单击“确定”保存设置。
设置黑白名单
如果要使用黑白名单,则微服务与服务中心需要满足以下流程:
-
微服务启动的时候,生成秘钥对,并将公钥注册到服务中心。
-
消费者访问提供者之前,使用自己的私钥对消息进行签名。
-
提供者从服务中心获取消费者公钥,对签名的消息进行校验。
1、单击需要治理的微服务,进入微服务治理配置页面。
2、在服务治理配置页面,单击“黑白名单”,展开黑白名单详情页。
3、单击“新增”,为应用添加黑白名单,黑白名单配置项如下表所示。
配置项 |
配置项说明 |
类型 |
黑名单:表示根据匹配规则匹配到的微服务都不允许访问当前服务。 |
白名单:表示根据匹配规则匹配到的微服务允许访问当前服务。 |
|
匹配规则 |
使用正则表达式表示。举例如下: 匹配规则:data* 表示名称以data开头的服务不允许其他服务访问。 |
4、单击“确定”保存设置。
异常诊断
当微服务正常运行且与其他微服务存在调用关系时,才能进行诊断操作。
-
单个微服务诊断
1、单击需要诊断的微服务,进入微服务诊断页面。
2、单击基本信息区域的“诊断”。
3、单击“确定”。
-
批量微服务诊断
1、单击需要诊断的微服务,进入微服务诊断页面。
2、单击右侧空白处,此时在左侧展示“运行时异常列表”和“诊断异常列表”。
运行时异常列表展示吞吐量、平均时延和请求失败率超过阈值的微服务。
诊断异常列表展示缓存实例与实际实例数据不一致的微服务。
3、单击“诊断异常列表”。
4、单击“全部诊断”。
5、单击“确定”。