# 应用

本章节所描述的是应用部署后,如何在Governor中对应用进行管理,包括应用的新增、编辑、删除及进入“管理实例组”页面。

# 新增应用

在“应用”界面,单击“新增”,进入“新增应用”界面。

img

img

在“新增应用”界面中,应用编号为下拉框,会自动在注册中心查询属于当前系统的应用。其他参数按照如下参数说明表格填写。

参数 说明 界面规则
应用编码 必填,对应部署的应用的spring.application.name (opens new window) 下拉单选
应用名称 必填,仅用于页面展示 支持中文,英文,数字,-,下划线,最多20个字符
应用负责人 应用的负责人,与权限无关 下拉单选
默认组预期实例数 预计有多少实例 正整数
描述 对应用的描述 不限制字符类型,最多200个字符

# 编辑应用

在“应用”界面,单击指定应用旁“编辑”,进入“编辑应用”界面,对应用负责人、应用名称、预期实例数及应用描述进行编辑。

img

img

# 删除应用

在“应用”界面,单击指定应用旁“删除”,在弹出的提示信息中单击“确定”按钮,删除应用。

img

# 管理实例组

在“应用”界面,单击指定应用旁“管理实例组”,进入“管理实例组”界面。

img

# 实例组

本章节所描述的是应用部署后,如何在Governor中对应用实例组进行管理,包括应用实例组下实例数查询、实例上下线、实例地址查询、健康检查地址查询及注册时间查询。

# 创建应用实例组

在“应用”界面,单击“管理实例组”,进入“实例组列表”界面。

img

img

在实例组列表中,会自动创建实例组名称为默认组、编号为default的默认实例组。若部署的应用eos.application.app-inst-grp-code不为default,则点击“新增实例组”。

img

在“新增应用实例组”界面中,参数按照如下参数说明表格填写。

参数 说明 界面规则
实例组编码 必填,对应应用配置文件中eos.application.app-inst-grp-code 支持英文、数字、-,_,最多14个字符
实例组名称 必填 支持中文,英文,数字,-,下划线,最多20个字符
预期实例数 预计有多少实例 正整数
版本 实例组的版本号 支持英文、数字、-、_、最多20个字符,,默认值1.0
描述 对应用实例组的描述 不限制字符类型,最多200个字符

点击实例组名称,进入“实例组详情”界面。

img

img

# 应用实例上下线

在“实例组详情”界面中能看到实例数、实例地址、健康检查地址等数据。其中点击实例上下线可对实例进行下线控制,服务调用时不会将请求发往下线的实例。

img

可通过系统概要中注册地址(如图中的http://10.15.15.128:8761)进入注册中心页面验证实例是否下线: (opens new window)进入注册中心页面验证实例是否下线:/)

img

img

注意:注册中心必须关闭自我保护机制,否则实例无法正常上下线。

# 编辑应用实例组

在实例组列表中,单击指定实例组“编辑”按钮,进入“编辑应用实例组”页面,对实例组名称、预期实例数、版本、实例组描述进行编辑。

img

img

# 删除应用实例组

在实例组列表中,单击指定实例组“删除”按钮,对应用实例组进行删除。 注意:默认应用实例组不允许删除。

img

# 服务

本章节所描述的是应用部署后,如何在Governor中查看应用中API详情。

API:应用中提供的接口,可以被其他应用及前端调用。

适用场景:方便运维管理接口,以便前后端开发人员能够很好的做接口的对接及应用之间接口调用,同时也利于接口的后续维护开发。

# 查看应用实例组api

在“实例组详情”界面中,点击“服务”tab页。如图可查看应用下所有controller类名、每个controller的接口数量、接口路径、接口名。

img

# 应用实例组api上下线

如图单击 POST /org.gocom.components.coframe.org.organization.copyNode 接口的上下线的switch开关,则会在该应用的“配置”中生成一条配置,该接口不允许被调用:

img

# 查看应用实例组api详情

以POST /org.gocom.components.coframe.org.organization.copyNode 为例,点击/org.gocom.components.coframe.org.organization.copyNode链接,进入api详情页面,可查看api的协议、请求信息、入参、响应等api信息:

img

# 应用配置

本章节所描述的是应用在服务器部署后,如何在Governor中对实例组实现配置的热部署。

适用场景:1.在生产环境中,适用于频繁的部署并且启动耗时长的应用、无法停止服务的应用等。2.在开发环境中,用于开发debug以避免重启应用,可以大大的提高开发效率。

前提:配置中心部署完成。其配置文件中eos.application.app-inst-grp-code表示在Governor中实例组编号,默认为default;是否使用Apollo配置客户端apollo.bootstrap.enabled配置值需设置为true,apollo.meta配置值应为Apollo配置中心的config-service的地址

在“实例组详情”界面中,点击“配置”tab页。

img

将应用中的sys-config,xml和user-config.xml 进行可视化管理,点击确认后,直接热更新

img

img

img

用户也可以在自定义配置中添加修改配置

img

# 日志查看

本章节所描述的是应用在服务器部署后,如何在Governor中查看应用系统日志。

# 查询应用系统日志

在“实例组详情”界面中,点击“日志”tab页。

img

点击“查询”按钮,可查询对应实例下系统,引擎,跟踪日志:

img

# 设置日志级别

点击“设置”可设置日志的生效级别:

img

# 治理

Governor中对应用的治理包括熔断、限流及负载均衡。

熔断:是由于某些原因使得某些服务出现了故障,为降低该故障服务对整个链路造成影响,从而采用的一种保护措施。很多时候刚开始可能只是系统出现了局部的、小规模的故障,然而由于种种原因,故障影响的范围越来越大,最终导致了全局性的后果。熔断器起的作用就是在特定的场景下关掉当前的通路,从而起到保护整个系统的效果。用户的请求将不再直接访问服务,而是通过线程池中的空闲线程来访问服务,如果线程池已满,则会进行降级处理,用户的请求不会被阻塞,至少可以看到一个执行结果(例如返回友好的提示信息),而不是无休止的等待或者看到系统崩溃。

限流:限制访问应用的请求以达到保护系统的目的。一般来说系统的吞吐量是可以被测算的,为了保证系统的稳定运行,一旦达到的需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的。比如:延迟处理,拒绝处理,或者部分拒绝处理等等。

负载均衡:客户端将请求发送至应用的某个实例,然而一个实例是无法承受很高的并发量或无法保证不会宕机,我们就会将请求转发到其他实例以防止某个实例由于承受过多请求或宕机而造成的实例不可用。

本章节所描述的是应用部署后,如何在Governor中对应用(包括应用实例组)进行治理,包括应用熔断动态配置、限流配置、负载均衡配置及应用配置的断路器详情图。

# 断路器详情

在“实例组详情”界面中,点击“治理”tab页。

img

更多参考资料请参阅Spring Cloud Hystrix官网:https://github.com/Netflix/Hystrix及https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.2.RELEASE/single/spring-cloud-netflix.html#_circuit_breaker_hystrix_dashboard

# 新增熔断配置

单击“配置项”下“熔断”tab页,单击“新增”进入“新增熔断”页面:

img

img

其中字段如下:

参数 说明
熔断对象 第一行选择需要熔断的应用,第二行选择该应用下需要熔断的接口
触发条件 分为强制熔断、取消熔断及自动熔断。
  • 强制熔断:暂时停止对该服务的调用。
  • 取消熔断:不使用任何熔断机制。
  • 自动熔断:需要配置请求数阈值、失败率阈值、熔断保持时间,即规定时间10秒内,请求数超过请求数阈值并且失败率达到失败率阈值才会触发熔断, 熔断后熔断保持时间尝试恢复。

# 编辑熔断配置

单击“配置项”下“熔断”tab页,单击如图所示图标进入“编辑熔断”页面:

img

# 删除熔断配置

单击“配置项”下“熔断”tab页,单击如图所示图标删除熔断配置:

img

# 配置限流

限流策略作用于所有实例组下的所有实例。单击“配置项”下“限流”tab页,进入“配置限流”页面,输入“允许每秒访问次数”后,勾选“启用”:

img

若设置“允许每秒访问次数”为1,用postman访问该应用下任意接口,在1秒内发送1次请求,返回数据正常:

img

在1秒内发送的第2次请求则会返回如下数据:

img

# 新增负载均衡配置

单击“配置项”下“负载均衡”tab页,进入“负载均衡”页面,单击“新增”进入“新增负载均衡”页面:

img

img

其中字段如下:

参数 说明
客户端名称 需要负载均衡的应用
规则类型 分为可用性过滤、随机、循环、加权响应时间、自定义
重试策略 分为失败自动切换、快速失败、失败原地重试
  • 规则类型
    • 可用性过滤:按可用性进行过滤服务的负载均衡策略。先用线性轮询策略选出一个服务,通过判断是否符合可用性要求,符合的就作为目标服务。
    • 随机:随机选择一个可用实例。
    • 循环:线性轮询负载均衡策略。
    • 加权响应时间:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
    • 自定义:实现ribbon负载均衡策略并指定类。
  • 重试策略
    • 失败自动切换:失败后会将请求转发到可用实例。
    • 快速失败:直接失败,抛异常。
    • 失败原地重试:失败后会对原实例再次重试。

# 编辑负载均衡配置

单击“配置项”下“负载均衡”tab页,单击如图所示图标进入“编辑负载均衡”页面:

img

img

# 删除负载均衡配置

单击“配置项”下“负载均衡”tab页,单击如图所示图标删除负载均衡配置:

img

# 许可证管理

Governor中对应用的许可证进行可视化管理。

点击“许可证管理”tab页

img

上传许可证

img

激活成功后,即可使用最新license(用户可上传多个许可证,但是只能激活一项),激活成功后,应用需要重新启动

img

点击详情,可看到license详情

img

点击删除,可删除多余license,当前激活状态下的无法删除

img

# 定时器

Governor中对应用的定时器进行可视化管理。

点击“定时器”tab页

img

添加定时器

img

img

可在定时器一览中选择继续,暂停,删除,修改当前定时器的操作(多实例的情况下,只有一个实例会执行当前定时任务)

img

通过点击调度器,来控制当前运行定时器的实例(多实例的情况下,只会有一个实例生效,其余实例会显示成等待启动状态)

img

img

# 服务统计

Governor在服务统计功能中提供一整套的服务统计数据查询

点击“服务统计”tab页

数据库链接统计

img

EOS服务统计

img

逻辑流统计

img

SQL统计

img

SpringBean统计

img

# 系统快照

Governor可以在系统快照页面中,直接导出应用所有外置目录下的系统配置,方便运维人员实施跟踪配置相关信息

tab中点击“系统快照”

选择实例后生成系统快照

img

img

点击下载即可下载当前系统EOS外置目录配置信息

img

img

点击删除,删除无用的快照信息

img

上次更新: 2023/3/20下午9:05:32