云服务器内容精选

  • 消息灰度 微服务蓝绿或灰度发布的业务场景中,灰度实例生产或消费的消息可能需要特殊处理,这时可以挂载Sermant消息灰度插件实现了消息的灰度能力,灰度实例生产者或者灰度流量生产灰度消息,灰度消费者消费灰度消息。 消息灰度配置: 配置项:grayscale.mq.config 作用范围:app=${service.meta.application}&environment=${service.meta.environment},即应用配置。service.meta.application、service.meta.environment的配置,默认为app=default&environment= 配置内容: # 消息灰度插件开启开关,默认为false不开启 enabled: false # 灰度组信息集合,每个灰度组包含consumerGroupTag(灰度组标识)、serviceMeta(微服务实例属性标签)及trafficTag(流量标签)。 grayscale: # 灰度组标签,例如基线消费组名称为basic_group,那么灰度名称为basic_group_${consumerGroupTag} - consumerGroupTag: gray serviceMeta: # ServiceMeta匹配标签,如果服务启动时service_meta_parameters设置为x_lane_tag:gray,那么当前消费者为灰度节点。 # 如果通过service_meta_version设置匹配信息,配置中的key一定要是'version',像version:1.0.1。 x_lane_tag: gray version: 1.0.1 trafficTag: # 流量标签匹配,配合sermant-tag-transmission插件一起生效,如果请求header中包含x_lane_canary=gray,并且开启标签透传插件,设置配置 # tag.transmission.config.matchRule.exact: ['x_lane_canary'],这时生产的消息为灰度消息. x_lane_canary: gray # serviceMeta与trafficTag关系如下: # 如果服务启动是service_meta_parameters设置信息x_lane_tag:gray,那么匹配为灰度实例。 # 1、如果是生产者,那么消息的property中设置属性'x_lane_canary: gray'标识为灰度消息。 # 2、如果是消费者,仅消费property包含'x_lane_canary: gray'属性的消息。 # 基线消费组信息定义 base: # 基线消费者消费消息模式,包含BASE/AUTO两个模式,默认值为AUTO模式 # BASE模式消费除excludeGroupTags设置的消费组标识以外的消息 # AUTO模式除excludeGroupTags设置的消费组标识及正在运行的灰度组以外的消息 consumeMode: AUTO # auto模式下,基线消费者定期检查灰度消费者时间间隔 autoCheckDelayTime: 15 # 基线消费者默认剔除的灰度组标识,对应上面consumerGroupTag设置的值,auto/base模式都会生效 excludeGroupTags: ["gray"] 消息灰度逻辑: 消息生产者 定时任务生产消息时,如果当前服务实例为灰度实例,那么生产消息时,在消息的属性中增加x_lane_canary: gray标签,如果为基线实例,不作处理。 流量触发生产消息时,如果当前流量为灰度流量(即header中含x_lane_canary: gray标签)时,那么生产消息时,在消息的属性中增加x_lane_canary: gray标签,如果为基线,则不作处理。 消息消费者 构建消息消费者时,如果当前实例为灰度实例(即满足serviceMeta的设置条件)时,消费组增加灰度标识,改为灰度组注册到RocketMq服务端,如原Group为default,那么灰度组为default_gray。 在监听消息中修改SubscriptionData中的subString为SQL92语句,从而过滤对应Topic、Group的消息。 构建SQL92过滤语句时,支持同一个服务构建RocketMq连接、Topic及Group不同组合的SQL92语句,即同一个服务支持RocketMq连接、Topic及Group不同维度组合下的消息灰度。 对于流量生产灰度消息或者消费消息,要结合Sermant的标签透传插件一起使用才能生效。 灰度逻辑中出现的灰度标签或消息属性标签信息是根据上述配置内容设置的,业务可以根据需要自定义所需标签。 版本要求: sermant-agent版本要求大于等于2.1.3; RocketMq客户端版本:大于4.8.0 RocketMq服务端需要支持开启消息过滤能力。 根据消息进行灰度路由调用。 很多业务场景中,在消费到消息后根据消息内容调用下游服务处理相应的业务,如果消费的是灰度消息,那么我们应该要调用下游对应的灰度实例去处理业务,反之调用基线实例处理业务,该能力需要结合标签透传插件并触发消息getBody方法才能生效。 Sermant的流量灰度可以参考Spring Cloud应用实现全链路灰度实现。 标签透传插件配置: 配置项:tag-config 作用范围:自定义标签配置group:sermant.tag-transmission-plugin 配置内容: enabled: true matchRule: exact: ["x_lane_canary"] x_lane_canary标签为上述消息灰度配置中trafficTag设置的对应标签。
  • 查看历史版本 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击某配置项右侧“操作”列的“查看历史版本”,进入“历史版本”页面可查看该配置项的历史版本,在该页面也可对比配置版本和回滚版本操作。
  • 编辑配置项 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击待编辑的配置项右侧“操作”列的“编辑”,也可单击待编辑的配置项名称,在配置详情页面,单击“编辑”。 在“配置内容”输入框输入配置信息,单击“保存”编辑配置项完成。
  • 回滚版本 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击待操作的配置项名称。 单击“历史版本”。 在左侧“历史版本”列表,选择待回滚到的历史版本。 在右侧“配置文件”列,单击“回滚到此版本”。
  • 对比配置版本 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击待对比的配置项名称。 单击“历史版本”。 在左侧“历史版本”列表选择待查看的历史版本。 在右侧“配置文件”列,可查看历史版本和当前版本的差异。 在“历史版本”列表中最多可显示100个历史版本。
  • 导入配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击右上角的“导入”,根据需要导入不同文件格式,参考下表设置导入参数。 表1 导入文件格式为V2.0 参数名称 参数说明 文件格式 可选择导入文件的格式,默认是V2.0。 导入至特定环境 关闭:导入的配置不改变环境标签。 开启:把配置导入至特定环境,将会改变环境标签。在下拉列表中选择特定环境。 相同配置 终止导入:导入过程中,如果遇到和系统中相同的配置,导入终止。 跳过:导入过程中,如果遇到和系统中相同的配置,该配置会被跳过,继续导入其余配置。 覆盖:导入过程中,如果遇到和系统中相同的配置,该配置的值会被替换。 配置文件 单击“导入文件”,选择待导入配置文件。 说明: 待导入的配置文件大小不超过2MB。 表2 导入文件格式为V1.0 参数名称 参数说明 文件格式 可选择导入文件的格式,选择文件格式为V1.0。 *导入至特定环境 在下拉列表中选择微服务环境。 微服务名称 在下拉列表中选择将配置导入到的微服务。 微服务版本 在下拉列表中选择将配置导入到的微服务的版本。 *配置文件 单击“导入文件”,选择待导入配置文件。 说明: 待导入的配置文件大小不超过2MB。 单击“关闭”,完成导入。
  • 创建自定义配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击“新建配置”,参考下表设置配置参数。参数前面带*号的是必须设置的参数。 参数名称 参数说明 *配置项 输入配置项。 配置项为该配置的全局ID,在编码阶段通过配置项对配置进行索引及操作。建议采用类Java包命名方式(如cse.service.registry.address)的命名规则来保证配置项的可读性和唯一性。 配置范围 选择“自定义配置”。 标签 当应用级配置、微服务级配置不能满足使用需求,可通过标签创建自定义配置。 配置格式 选择配置格式,支持TEXT、YAML、JSON、Properties、INI、XML常见配置格式在线编辑。默认为:TEXT。 *配置内容 输入配置内容。 是否启用 选择是否启用配置: 现在启用:创建成功后,配置立即生效。 暂不启用:创建成功后,配置暂不生效。 单击“立即创建”,启用该配置项。
  • 导出配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 勾选待导出的配置项,单击“导出”。 单击配置项上方的“导出”,在弹出框中单击“导出”,配置文件导出成功。 单击右上方的“导出”,在“导出配置”弹出框中,选择导出配置的文件格式,默认为V2.0,单击“确定”,配置文件导出成功。 当选择导出配置的文件格式为V1.0时,需在下拉框中选择微服务环境、微服务名称和微服务版本。
  • 创建微服务级配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击“新建配置”,参考下表设置配置参数。参数前面带*号的是必须设置的参数。 参数名称 参数说明 *配置项 输入配置项。 配置项为该配置的全局ID,在编码阶段通过配置项对配置进行索引及操作。建议采用类Java包命名方式(如cse.service.registry.address)的命名规则来保证配置项的可读性和唯一性。 配置范围 选择“微服务级配置”。 *微服务 选择或者输入微服务名称。 选择或输入应用名称。 选择环境。 配置格式 选择配置格式,支持TEXT、YAML、JSON、Properties、INI、XML常见配置格式在线编辑。默认为:TEXT。 *配置内容 输入配置内容。 是否启用 选择是否启用配置: 现在启用:创建成功后,配置立即生效。 暂不启用:创建成功后,配置暂不生效。 单击“立即创建”,启用该配置项。
  • 创建应用级配置 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 选择“配置管理”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 单击“新建配置”,参考下表设置配置参数。参数前面带*号的是必须设置的参数。 参数名称 参数说明 *配置项 输入配置项。 配置项为该配置的全局ID,在编码阶段通过配置项对配置进行索引及操作。建议采用类Java包命名方式(如cse.service.registry.address)的命名规则来保证配置项的可读性和唯一性。 说明: 创建应用级配置时不允许创建以“servicecomb.matchGroup.”开头的配置项,此开头的配置会与创建业务场景治理生成的配置冲突,导致业务场景无法显示。 配置范围 选择“应用级配置”。 *应用 选择或输入应用名称。 选择环境。 配置格式 选择配置格式,支持TEXT、YAML、JSON、Properties、INI、XML常见配置格式在线编辑。默认为:TEXT。 *配置内容 输入配置内容。 是否启用 选择是否启用配置: 现在启用:创建成功后,配置立即生效。 暂不启用:创建成功后,配置暂不生效。 单击“立即创建”,启用该配置项。
  • 什么是Mesher Mesher是Service Mesh的一个具体的实现,是一个轻量的代理服务以Sidecar的方式与微服务一起运行。 Service Mesh是由William Morgan定义: Service Mesh是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,Service Mesh保证请求可以在这些拓扑中可靠地传输。在实际应用当中,Service Mesh通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但应用程序不需要知道它们的存在。 随着云原生应用的崛起,Service Mesh逐渐成为一个独立的基础设施层。在云原生模型里,一个应用可以由数百个服务组成,每个服务可能有数千个实例,而每个实例可能会持续地发生变化。服务间通信不仅异常复杂,而且也是运行时行为的基础。管理好服务间通信对于保证端到端的性能和可靠性来说是非常重要的。 Service Mesh实际上就是处于TCP/IP之上的一个抽象层,假设底层的L3/L4网络能够点对点地传输字节(同时,也假设网络环境是不可靠的,所以Service Mesh必须具备处理网络故障的能力)。 从某种程度上说,Service Mesh有点类似TCP/IP。TCP对网络端点间传输字节的机制进行了抽象,而Service Mesh则是对服务节点间请求的路由机制进行了抽象。Service Mesh不关心消息体是什么,也不关心它们是如何编码的。应用程序的目标是“将某些东西从A传送到B”,而Service Mesh所要做的就是实现这个目标,并处理传送过程中可能出现的任何故障。 与TCP不同的是,Service Mesh有着更高的目标:为应用运行时提供统一的、应用层面的可见性和可控性。Service Mesh将服务间通信从底层的基础设施中分离出来,让它成为整个生态系统的一等公民——它因此可以被监控、托管和控制。
  • 查看微服务运行指标 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 单击“仪表盘”。 未开启安全认证的ServiceComb引擎,请执行6。 开启安全认证的ServiceComb引擎,请执行5。 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。 创建账号请参考新增账号。 在“仪表盘”页面,在下拉列表框选择需要查看的应用,在搜索框输入微服务名称,查询微服务,页面将展示筛选出的微服务的运行指标。 单击“查看示例图”,可以查看运行指标参数含义。 选择排序方式,筛选出的微服务会按照指定方式进行排序。