产品简介 -...

18
微服务引擎 产品简介 文档版本 01 发布日期 2018-03-06 华为技术有限公司

Upload: phamdan

Post on 03-Feb-2018

322 views

Category:

Documents


21 download

TRANSCRIPT

微服务引擎

产品简介

文档版本 01

发布日期 2018-03-06

华为技术有限公司

版权所有 © 华为技术有限公司 2018。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传

播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或

特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声

明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文

档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司

地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129

网址: http://www.huawei.com

客户服务邮箱: [email protected]

客户服务电话: 4008302118

文档版本 01 (2018-03-06) 华为专有和保密信息

版权所有 © 华为技术有限公司

i

目 录

1 产品概述........................................................................................................................................... 1

2 产品功能........................................................................................................................................... 2

3 产品优势........................................................................................................................................... 3

4 应用场景........................................................................................................................................... 4

5 产品术语........................................................................................................................................... 5

6 版本说明........................................................................................................................................... 96.1 Local ServiceCenter....................................................................................................................................................... 96.2 Java SDK...................................................................................................................................................................... 106.3 Go SDK........................................................................................................................................................................ 136.4 Service Mesh................................................................................................................................................................ 136.5 Cipher keytool.............................................................................................................................................................. 15

微服务引擎产品简介 目 录

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

ii

1 产品概述

微服务引擎(Cloud Service Engine)是企业级微服务应用管理平台,包含微服务SDK,服务注册、配置和治理中心,帮助用户实现微服务应用的快速构建、实时监控和高可用保障。兼容主流开源生态,不绑定特定开发框架和平台,支持已有应用业务代码零修改接入。

微服务引擎产品简介 1 产品概述

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

1

2 产品功能

l 微服务开发框架

打包了微服务注册、发现、通信和治理等基础能力,开箱即用。

l 微服务治理中心

提供微服务负载均衡、限流、降级、熔断、容错等治理能力。

l 微服务安全管控

提供认证鉴权、黑白名单等能力,保障微服务访问安全。

l 微服务灰度发布

支持使用接口任意参数(例如用户群组、用户类别、用户所属区域等等)定义微服务灰度发布规则。

l 分布式事务管理

提供最终一致性(TCC)和强一致性(WSAT)事务管理框架。

l 非侵入式微服务接入

提供ServiceMesh服务,可实现非侵入式接入已有微服务。

l 统一配置中心

支持微服务配置项的发布、变更和通知。

l 微服务仪表盘

提供微服务实例和接口级吞吐量、时延和成功率的实时监控仪表盘。

微服务引擎产品简介 2 产品功能

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

2

3 产品优势

l 低门槛

微服务框架开放无绑定,开箱即用;

微服务流水线一键式构建、部署和上线。

l 零改造

提供非侵入式方案,让遗留应用零改造,轻松上云;

兼容SpringCloud主流开源社区,与业界生态能力互通。

l 高可靠

三十年华为电信级高可靠经验积累,历经华为终端云亿级用户考验。

l 专业服务

20+ISV行业生态合作伙伴;30+微服务高级咨询师。

微服务引擎产品简介 3 产品优势

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

3

4 应用场景

新应用开发与治理

企业新应用基于微服务架构开发,或者已有应用改造成微服务,都可以使用CSE提供的多语言微服务SDK和管理控制台,实现一站式的开发与治理。

优势如下:

l 开箱即用

打包了微服务注册、发现、通信和治理等基础能力。

l 一站式治理

提供微服务负载均衡、限流、降级、熔断、容错等治理能力。

l 应用指标实时监控

接口级吞吐量、时延和成功率的实时监控。

遗留应用接入与治理

企业大量遗留应用上云,都做微服务改造成本会很高,基于ServiceMesh方案可以实现零改造的应用管理接入,让遗留应用也能享受云上微服务治理能力。

优势如下:

l 零改造接入微服务

提供ServiceMesh服务,实现非侵入式接入遗留应用。

l 兼容主流开源生态

兼容SpringCloud主流开源社区,与业界生态能力互通。

l 支持多种开发语言

支持接入NodeJS、.NET等语言开发的应用。

微服务引擎产品简介 4 应用场景

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

4

5 产品术语

表 5-1 微服务引擎术语表

中文 英文 缩略语 说明

灰度发布 Canary Release - CSE支持两种灰度发布策略:

l 按照流量百分比的引流可以设定引流规则,设置不同占比的流量到特定的服务版本。

l 按照特定请求特征进行的引流根据请求头的特征设置引流规则,符合某些规则的流量进入特定的服务版本。

以此方式保证服务的平滑演进。

AK/SK密钥 Access key/Secret key

AK/SK Access key/Secret key是一组密钥对,用于API的身份认证和访问控制。

应用 Application - 应用代表一个软件应用的逻辑实体,表示一个有业务功能呈现给用户的计算机软件应用。一个以微服务化架构构建的应用通常由多个微服务组成。

微服务引擎产品简介 5 产品术语

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

5

中文 英文 缩略语 说明

熔断 Circuit Breaker - 微服务之间通常存在依赖关系,服务调用链路可能包含多个微服务,如果链路中一个或多个服务访问延迟过高,会导致入口服务的请求不断堆积,持续消耗更多的线程、io资源,最终由于资源累积使系统出现瓶颈,造成更多服务不可用,产生雪崩效应。熔断机制就是针对上述场景设计的,当某个目标服务响应缓慢或者有大量超时情况发生时,熔断该服务的调用,对于后续调用请求,不再继续调用目标服务,直接返回,快速释放资源,等到该目标服务情况好转再恢复调用。

微服务框架 Cloud ServiceEngine

CSE 微服务引擎,作为一个公有云服务,在开发层面提供一组工具和开发框架,方便进行本地的微服务开发,同时在云上提供一组支撑微服务运行和运维的基础服务,方便微服务在云上生产环境的部署和运维。

服务消费者 Consumer - 在微服务调用关系中处于调用发起方的服务。

分布式事务 DistributedTransaction

- 分布式事务是指事务的参与者、资源服务器以及事务管理器分别位于分布式系统的不同节点之上的事务。CSE支持两种分布式事务方案:

l 基于TCC协议的最终一致性方案

l 基于两阶段提交的强一致性方案。

容错 Fault Tolarance - 容错是消费者访问服务时出现异常的场景下的一种处理策略,出现异常后由服务框架自动选择新的服务路由进行调用。

身份及权限管理

Identity andAccessManagement

IAM 负责PaaS系统中管理层级、用户、角色、授权关系,用户的组织归性等信息的维护,并实施授权和授权检查。

微服务实例 Instance - 一个微服务的最小运行和部署单元,通常对应一个应用进程。

微服务引擎产品简介 5 产品术语

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

6

中文 英文 缩略语 说明

独立软件供应商

IndependentSoftwareVendor

ISV 也叫独立软件开发商,补充业务提供商的一种。自己制作销售可运营的软件系统。该系统支持SAAS(Software-as-a-service)。ISV将软件运营系统部署到运营商的环境中后,可以发展自己的客户。

隔离 Isolation - 服务隔离是一种异常检测机制,常用的检测方法是请求超时、流量过大等。一般的设置参数包括超时时间、最大并发请求数等,当超过超时时间或最大并发请求数时,记录一次异常,并用于在熔断机制中计算错误率和错误请求数。

负载均衡 Load Balance - 当应用访问一个具有多个实例的微服务时,会涉及到路由负载均衡。CSE提供基于Ribbon的负载均衡方案,可以通过配置文件配置负载均衡策略,支持随机,轮询、会话保持和基于响应时间的权值等多种负载均衡路由策略。

遗留系统 Legacy - 遗留系统是一个还在运行和使用,但已步入软件生命周期衰老期的软件系统。

微服务 Microservices - 微服务是一种轻量级SOA架构,通常用来描述广泛用于云应用、互联网应用的一种松耦合分布式架构。

服务提供者 Provider - 在微服务调用关系中处于被调用一方的服务。

限流 Rate Limit - 当资源成为瓶颈时,服务框架需要对消费者的访问请求做限流,启动流控保护机制。在服务消费者端和提供者端均可进行流量控制。在服务消费端,可以限制发往某个微服务提供者的请求频率;在服务提供端,可以限制每个微服务消费端发过来的请求频率,也可以根据服务提供端资源消耗情况确定总的请求频率限制,防止服务因资源耗尽而崩溃。

微服务引擎产品简介 5 产品术语

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

7

中文 英文 缩略语 说明

降级 ServiceDegrade

- 服务降级主要包括屏蔽降级和容错降级两种策略:屏蔽降级是指当外界的触发条件达到某个临界值时,由运维人员/开发人员决策,对某类或者某个服务进行强制降级。容错降级是指当非核心服务不可用时,可以对故障服务做业务逻辑放通,以保障核心服务的运行。

服务网格 Service Mesh - 一种基础设施层服务。在微服务化的过程中,开发者需要解决应用运行在分布式网络中所引入的问题,例如容错,限流,负载均衡,注册发现,可监控等,Service Mesh作为L4/L7协议代理,为应用解决了微服务化后带来的问题。

服务 Service - 服务是对按需取用的功能对象的一种描述。在应用模型中,服务一般面向应用,应用使用服务需要先订购服务,再绑定服务并使用,某些商业场景下可能还需要按使用量付费。

- Try/Confirm/Cancel

TCC Try/Confirm/Cancel(TCC),是一种最终一致性事务管理框架。TCC型事务可以归为补偿型事务。

- Web ServicesAtomicTransaction

WSAT Web Services Atomic Transaction(WSAT)是一种强一致性事务管理框架。

微服务引擎产品简介 5 产品术语

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

8

6 版本说明

6.1 Local ServiceCenter

6.2 Java SDK

6.3 Go SDK

6.4 Service Mesh

6.5 Cipher keytool

6.1 Local ServiceCenter版本 发行时间 说明

2.2.47 2018.03.13 提升易用性和修复BUG

2.2.40 2018.02.03 提升可运维性和修复BUG

2.2.47l 修改特性

修改默认监听地址为0.0.0.0l Bug fixes

– 修复保护机制启动后日志频繁打印问题

– 修复不同名字微服务共用相同的serviceId的问题

2.2.40l 修改特性

修改注册微服务的framework属性的校验规则为支持任意字符

l 新特性

支持查询实例接口返回微服务version信息

l Bug fixes

微服务引擎产品简介 6 版本说明

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

9

– 修复依赖关系维护使用了全局锁导致性能低的问题

6.2 Java SDK版本 发行时间 说明

2.3.9 2018.3.6 配套CSE 2.3.8。配套服务中心版本升级到2.2.45,提供了支持微服务运维的框架组件版本上报等新功能。

2.3.8 2018.2.3 配套CSE 2.3.7。开源包名从io.servicecomb改为org.apache.servicecomb,提供了REST传输方式的泛型支持,以及其他一些特性和bug的修改。

2.2.39 2018.1.11 配套CSE 2.3.5。该版本增加了Spring Cloud接入CSE新特性,优化了实例查询可靠性和reactive调用方式的性能,以及其他一些特性和bug修改。

2.2.31 2018.1.9 配套CSE 2.3.4。该版本修复了一些BUG,没有新特性。

2.2.28 2017.12.25 配套CSE 2.3.3。增加Spring Cloud对接服务中心的starter。修复治理模块、灰度发布模块等BUG。

2.2.21 2017.12.18 配套CSE 2.3.2。TCC事务使用redis增加密码认证、修复强一致事务,公共模块的一些BUG。

2.2.13 2017.12.13 配套CSE 2.3.1。该版本修复了一些BUG,没有新特性。

2.2.11 2017.12.08 配套CSE 2.3.0。变更记录在2.2.8基础上给出。该版本主要增加了微服务之间的公私钥对认证机制。

2.3.9l 新特性

运维需求:支持上报框架组件版本号给服务中心。

l 修改特性

– jackson版本由2.8.10升级到2.9.4。

– 服务中心的最低支持版本调整到2.2.45。

l Bug fixes

修复Edge服务在转发不存在的服务的时候,可能导致内存泄露的问题。

2.3.8l 新特性

微服务引擎产品简介 6 版本说明

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

10

– REST传输方式支持泛型。

– 支持自定义Netty DNS配置项。

– 集成spring-webmvc的view功能。

– 支持在access log中打印TraceId。l 修改特性

– ServiceComb代码包名修改为org.apache.servicecomb。– 在Invocation中增加请求成功/失败的记录信息。

– com.huawei.paas.cse:foundation-config-cc模块移到org.apache.servicecomb:config-cc模块。

– 移除与apache许可证相冲突的第三方依赖。

– 升级Netty至4.1.17,升级Jackson版本至2.9.2。l Bug fixes

– 处理请求参数名包含"-",consumer走highway调用时会抛出异常的问题。

– 修复microservice.yaml文件的service_description.description部分被英文逗号分割,只有第一部分被注册到SC的问题。

– 修复域名解析导致连不上APIGateway的问题。

2.2.39l 新特性

– 支持Spring Cloud应用接入CSE。– 支持跟踪调用的内嵌traceID。

– 支持@Api标签生成tags。– 支持CompletableFuture异步调用特性。

l 修改特性

– 优化服务中心实例查询机制,增加可靠性。

– 优化reactive调用方式的性能。

– 仪表盘数据上报增加服务和实例信息。

l Bug fixes– 修复灰度发布下发多余属性导致老版本访问失败的问题。

– cse-solution-service-engine配置加载顺序调整为最低,允许开发者覆盖。

– 修改配置多个服务中心地址时,请求签名失败的问题。

2.2.31l 新特性

l 修改特性

升级Jackson版本,与开源部分保持一致。删除重复的依赖项。

l Bug fixes– 灰度发布规则支持不区分大小写。

– 修复熔断状态错误和熔断次数未上报的bug。– SDK提供一个标准的告警事件机制,配置中心上报连接失败异常event。

微服务引擎产品简介 6 版本说明

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

11

2.2.28l 新特性

– 增加Spring Cloud对接服务中心的starter。

– 灰度发布模块增加对于long、double等数据类型的支持。

l 修改特性

无。

l Bug fixes

– 修复fallback场景下,大量并发场景打印很多日志问题。

– 升级jackson版本,解决安全漏洞。

– 解决使用强一致事务返回值丢失的问题。

– 解决监控数据上报熔断状态不准确问题。

2.2.21l 新特性

TCC事务使用redis作为事务日志存储时,支持密码认证。

l 修改特性

无。

l Bug fixes

– 修改metrics模块在osgi环境集成时jar包冲突问题。

– 修改使用AK/SK认证的场景下,配置中心加载解密工具的顺序导致第一次连接服务中心时解密失败的问题。

– 修改SignerUtils错误修改时区的问题。

2.2.13l 新特性

无。

l 修改特性

无。

l Bug fixes

修改通过System.setProperty方式设置SSL配置参数导致启动失败的问题。

2.2.11l 新特性

支持微服务之间使用公私钥对进行身份认证。

l 修改特性

无。

l Bug fixes

针对代码格式、拼写的修改,不影响功能。

微服务引擎产品简介 6 版本说明

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

12

6.3 Go SDK版本 发行时间 说明

1.1.0 2018.03.06 支持多project,支持灰度发布治理

1.0 2018.01.19 Go SDK首次发布,支持快速开发rest/highway协议的微服务,支持快速接入CSE。

1.1.0l 新特性

– 支持多project– 支持灰度发布治理

l Bugfix– 服务端实例增减,客户端没有更新缓存

– 服务超时失败时不同协议表现不一致

– 超时时间配置不生效问题

1.0l 新特性

– rest/highway协议微服务开发。

– 注册发现,负载均衡,熔断降级,容错,错误注入,路由策略(rest)。

– 动态治理:负载均衡,熔断降级,容错,错误注入。

– 仪表盘监控。

6.4 Service Mesh版本 发行时间 说明

1.4.0 2018.03.06 支持多project,支持灰度发布治理

1.3.7 2018.02.23 增加默认监听地址

1.3.3 2018.01.20 支持dubbo应用接入

1.2 2017.12.28 减少配置,提升易用性。

1.1.2 2017.12.20 减少配置,提升易用性。

1.1 2017.12.08 专用基础设施层,帮助业务应用快速成为微服务。

1.0.5 2017.12.01 专用基础设施层,帮助业务应用快速成为微服务。

微服务引擎产品简介 6 版本说明

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

13

1.4.0l 新特性

- 支持多project- 支持灰度发布治理

l Bug fixes– 服务端实例增减,客户端没有更新缓存

– 服务超时失败时不同协议表现不一致

– 超时时间配置不生效问题

– dubbo协议默认无法调用非0.0.1版本的服务

– dubbo协议错误注入策略配置不生效

1.3.7l Bug fixes

– 缺少默认监听地址

– 时间相应权值策略对dubbo协议不生效

1.3.3l 新特性

支持dubbo应用接入。

l Bug fixes– 初始化错误直接退出,不再启动mesher。– 降级策略为returnnull时,降级不生效。

– 获取chain失败没有处理异常码。

– mesher退出时删除实例报404。l 修改特性

合并部分配置文件。

1.2l 新特性

l Bug fixes修复网卡不是eth0启动失败的问题

l 修改特性

将处理链配置隐藏,不让用户关心处理链配置,用户也可自定义,景也可用系统默认的

1.1.2l 新特性

l Bug fixes无

微服务引擎产品简介 6 版本说明

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

14

l 修改特性

– 使用--mode决定运行模式,参数为sidecar或per-host,默认为sidecar– 注册框架名,版本号,注册者信息到Service center– 使用start.sh不再强制要求输入环境变量

– 隐去内部组件的SSL配置,进一步简化配置文件

– 不需在ServiceStage中部署时指定CSE_REGISTRY_ADDR与SERVICE_NAME

1.1l 新特性

– 新的负载均衡策略,根据延时进行实例选择

– 错误注入

l Bug fixes无

l 修改特性

1.0.5l 新特性

l Bug fixes配置tracing handler导致mesher挂掉

l 修改特性

路由中的appId默认使用cosumer自己的appId,免除路由表配置

6.5 Cipher keytool版本 发行时间 说明

1.0.4 2017.12.28 首次交付,提供密钥加密工具。

1.0.4l 新特性

– 一次性生成物料和AK/SK认证文件

– 提供加密接口

微服务引擎产品简介 6 版本说明

文档版本 01 (2018-03-06) 华为专有和保密信息版权所有 © 华为技术有限公司

15