编辑: 怪只怪这光太美 2019-09-19
微服务引擎 常见问题 文档版本

01 发布日期 2019-04-25 华为技术有限公司 版权所有 ? 华为技术有限公司 2019.

保留一切权利. 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播. 商标声明 和其他华为商标均为华为技术有限公司的商标. 本文档提及的其他所有商标或注册商标,由各自的所有人拥有. 注意 您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内.除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声 明或保证. 由于产品版本升级或其他原因,本文档内容会不定期进行更新.除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保. 文档版本

01 (2019-04-25) 版权所有 ? 华为技术有限公司 i 目录1通用问题.1 1.1 为什么要用 CSE 微服务引擎?1 1.2 微服务和普通应用有什么不同?1 1.3 开源 ServiceComb 与CSE 是什么关系?2 1.4 微服务和其他平台服务有什么不同?2 1.5 为什么一定要定义服务契约?2 1.6 服务中心用什么数据库?ETCD 与Eureka 的区别是什么?2 1.7 配置中心是什么,是Spring Cloud Config 吗?能力有什么差别?3 1.8 CSE 和Eureka 的仪表盘差别在哪里?3 1.9 治理是用了 Hystrix 吗?做了什么增强?3 1.10 微服务引擎能转包周期吗?3 1.11 一个微服务是不是可以创建多个工作负载,也可以发布多个镜像版本?3

2 应用开发.4 2.1 ServiceComb 开发的微服务如何对接公有云?4 2.2 如何解决微服务注册失败问题(针对 java chassis)4 2.3 部署在云上的微服务如何进行排错?6 2.4 如何部署微服务?6 2.5 如何决定使用 SDK 构建微服务还是使用 ServiceMesh?9 2.6 微服务是不是与公有云绑定?如何进行本地开发?9 2.7 SpringBoot 应用切换 CSE Java SDK 框架常见问题.9 2.8 如何使用 Maven 插件将契约文件转换为代码?10 2.9 如何解决获取依赖失败的问题?11 2.10 CSE Mesher 如何使用分布式跟踪.12 2.11 如何从头开始使用 CSE 搭建一个项目?12 2.12 租户链接 CSE 的服务中心进行服务注册发现时需要授予哪些权限?13 2.13 CSE 如何配置多个服务中心、配置中心、监控中心地址及其常见错误.13 2.14 使用 Tomcat 作为服务器,并采用 CSE 客户端调用,低概率出现请求失败.14 2.15 Tomcat 重复加载 war 包.15 2.16 日志显示 stats of instance 06b3ec5307b311e9bc86fa163ee9b7d0 removed

15 2.17 Spring Boot 场景下启动失败: shouldn'

t have special char.16 2.18 CSE JAVA SDK: java.lang.IllegalStateException: Response is closed 原因和定位.16 2.19 服务端定义一个空 schema,客户端抛出异常.17 2.20 CSE 如何使用 apollo 作为配置中心.20 微服务引擎 常见问题 目录文档版本

01 (2019-04-25) 版权所有 ? 华为技术有限公司 ii 2.21 服务中心要多长时间判定认为实例故障下线而移除?21 2.22 CSE 和Spring Boot 集成的时候报告 Hystrix 重复错误.21 2.23 metrics 本地日志无法输出.22 2.24 CSE 开启 ssl 提供 rest 服务,证书路径平台默认是从哪儿读取的?22 2.25 linux 机器下执行测试用例、启动等非常慢.23 2.26 CSE 在脚本中如何指定服务监听地址?24 2.27 使用 CSE 如何设置 cookie.25 2.28 隔离/恢复配置错误率 errorThresholdPercentage 导致被隔离的实例很长时间无法恢复.25 2.29 服务部署启动后报告域名解析失败.26 2.30 如何合理设置 servicecomb.rest.server.thread-count 的值.26

3 Java SDK.28 3.1 如何使用 Swagger 注解?28 3.2 如何自定义配置微服务 DNS?31 3.3 如何设置代理?32 3.4 如何扩展 AK/SK 解密方式?33 3.5 如何进行本地开发和测试?34 3.6 连接服务中心提示 Invalid request, header is invalid, ak sk or project is empty.36 3.7 连接服务中心提示 validate ak sk error

37 3.8 连接服务中心提示 get project token from iam failed

37 3.9 连接服务中心提示 Version validate failed

38 3.10 连接服务中心提示 Not enough quota

38 3.11 InvocationException: code=500;

msg={message=Timeout when processing the request.38 3.12 Key/certificate is mandatory for SSL.39 3.13 实现 ExceptionToProducerResponseConverter 注意事项.40 3.14 修改接口定义后服务启动失败.40 3.15 CSE JAVA SDK 如何配置业务处理线程池.42 3.16 CSE Internal Server Error 如何做异常处理.42 3.17 CSE JAVA SDK 如何使用 openssl.43 3.18 CSE JAVA SDK 版本号规则.43 3.19 在HttpServerFilter 中怎么取到 Controller 方法上面添加的注解?44 3.20 参数列表是否支持 HttpServletResponse?44 3.21 在契约模型中如何使用泛型?45 3.22 升级新版本 SDK 后排队事件增大.45 3.23 CSE 是否支持 Response 设置消息头?46

4 GO SDK.47 4.1 证书加载错误.47 4.2 连接 CSE 超时.47 4.3 invalid header name.48 微服务引擎 常见问题 目录文档版本

01 (2019-04-25) 版权所有 ? 华为技术有限公司 iii 1通用问题 1.1 为什么要用 CSE 微服务引擎? CSE充分借鉴公司内部多个大型系统微服务化的构建经验,将多年来对企业级应用微 服务化过程中积累的最佳实践都构建其中,成熟稳定,降低了企业级应用微服务化的 门槛. 在云上使用CSE微服务引擎,用户无需关心自己业务之外的微服务基础设施,保证系 统整体稳定性.同时微服务部署即用,管理、治理全部开箱即用,还可以获得开发时 期的指导和帮助,以及后续技术发展的最新信息. 1.2 微服务和普通应用有什么不同? 微服务是一种架构模式,其核心是将一个单体应用分成多个部分进行开发.所以微服 务架构的应用程序,其本质上是一个分布式应用. 基于微服务架构构建的应用程序,可以让业务变化更快,整体系统可靠性更高. 类型 微服务 普通应用 开发 每个微服务的体量相对较小,业 界的two pizza团队和 2周即可全 部重写全部代码 等都可以作为 微服务划分的参考.在开发时 期,需注意服务接口的定义以与 周边微服务进行配合, 基于契 约 的开发方式是非常推荐的. 普通应用逻辑复杂、模块耦合、代码臃 肿、修改难度大、版本迭代效率低下. 部署 微服务组成的应用系统通常比较 复杂,在一次性部署的时候,需 要进行编排部署. 普通应用可能会比较大,构建和部署时 间也相应地比较长,不利于频繁部署, 阻碍持续交付.在移动应用开发中,这 个问题会显得尤为严重. 微服务引擎 常见问题

1 通用问题 文档版本

01 (2019-04-25) 版权所有 ? 华为技术有限公司

1 类型 微服务 普通应用 运维 在原来的指标监控、日志收集之 外还非常强调治理.其核心理念 是在运行时期通过对线上系统的 各种调整以达到系统整体健康度 最佳的效果. 普通应用线上问题修复周期长,任何一 个线上问题修复都需要对整个应用系统 进行全面升级. 1.3 开源 ServiceComb 与CSE 是什么关系? CSE Java SDK是ServiceComb的商业版本,其大部分组件来自于开源的ServiceComb, 同时提供一些公有云对接的能力、安全、分布式数据一致性等商业能力.这部分开发 框架可以免费使用但是没有开源. 1.4 微服务和其他平台服务有什么不同? 微服务是构建应用系统的架构模式,平台服务是云平台提供给平台用户使用的中间件 服务. 在使用上,平台服务需要进行订购流程进行服务开通.对于微服务,需自己开发并使 用平台提供的服务发现能力进行服务发现. 1.5 为什么一定要定义服务契约? 企业级系统中规模较大,需要进行统一管理.通过统一定义的微服务契约,可以协调 多个开发团队,降低沟通成本且避免后期的混乱. 在微服务开发的时候,基于统一的接口描述标准,方便不同团队,甚至不同ISV间系统 的集成,方便整体系统一致性的维护. 对于规模较小、统一管理要求不高的系统,可以使用自动生成的契约. 1.6 服务中心用什么数据库?ETCD 与Eureka 的区别是什 么? CSE采用的是ETCD和golang自研的API-Server层服务管理中心.与仅仅管理路由动态数 据的Eureka不同,CSE的服务管理中心提供了对静态元数据丰富的管理能力,例如提供 了 应用-服务-实例 的整体元数据管理,基于服务的不同版本管理和Tag管理以支持 灰度发布功能,根据服务发现的动作记录服务依赖关系等等. 在Eureka仅仅管理动态路由的基础上提供了对大规模微服务系统的管理能力,这种管 理能力是大规模企业级微服务系统所看重的.此外还提供了SDK到管理中心、API- Server到ETCD,以及ETCD自身故障或网络分区故障发生时的各种容错处理能力,并 且结合API-Server的各级缓存设计,实现了更好的可用性. 所以简单来说,与Eureka相比,在加强了管理能力的基础上,对服务管理中心本身的 数据一致性、可用性、网络分区容错性(CAP)上都进行了增强.不同于Eureka牺牲一 致性来保证可用性的做法,在BASE上的各功能都进行了增强. 微服务引擎 常见问题

1 通用问题 文档版本

01 (2019-04-25) 版权所有 ? 华为技术有限公司

2 1.7 配置中心是什么,是Spring Cloud Config 吗?能力有什 么差别? CSE的配置中心采用Java语言自研,后端用ETCD作为存储.与Spring Cloud Config没有 关系.相比Spring Cloud Config而言,其内部采用多维数据建模的方式组织配置信息, 对于配置信息的描述能力更强,扩展能力更好.另外同时支持了push和pull的配置变更 通知方式,实时性更好. 1.8 CSE 和Eureka 的仪表盘差别在哪里? Eureka没有仪表盘.CSE的仪表盘借鉴Hystrix Dashboard,同时增加了其他数据的显 示,作为服务治理的决策输入. 1.9 治理是用了 Hystrix 吗?做了什么增强? 治理能力中熔断和降级的部分重用了部分Hystrix的能力,客户端服务发现重用了部分 Ribbon的能力.在此基础上,结合CSE内部契约,进行了更细粒度(服务、操作)的服 务治理,并且实现了实例访问错误重试和隔离、多数据中心间服务发现的优先级等其 他治理能力.另外,对于这些开源库提供的原生治理方式进行了妥善的封装,可以通 过配置的方式进行使用而不必再进行编码. 1.10 微服务引擎能转包周期吗? 微服务引擎专业版支持按需计费,不支持包周期.推荐使用专享版,专享版支持包周 期.且专业版是所有人共用的,专享版才是个人专享的,具体购买专享版操作请参考 购买ServiceComb引擎. 1.11 一个微服务是不是可以创建多个工作负载,也可以发布 多个镜像版本? 工作负载,是部署系统的管理单位,通常是一个进程,部署系统调度工作负载,进程 运行在工作负载内;

微服务,是业务概念,某个进程提供某种服务,那它就是个微服 务.所以一个微服务可以有多个工作负载(一个进程复制多份),每一个工作负载可 以发布可以发布一个镜像版本.这些个工作负载都提供同一种服务.华为云的部署用 的k8s,为了减少资源消耗,可以一个服务只创建一个负载,创建多个实例. 微服务引擎 常见问题

1 通用问题 文档版本

01 (2019-04-25) 版权所有 ? 华为技术有限公司

3 2应用开发 2.1 ServiceComb 开发的微服务如何对接公有云? 请参考ServiceComb应用接入CSE. 2.2 如何解决微服务注册失败问题(针对 java chassis)? 微服务部署成功后,需要将微服务注册到服务中心和配置中心,才能使用注册发现和 微服务治理能力.如果注册失败,可能由于以下因素导致的: l AK/SK未配置或者配置不正确. l 服务中心或配置中心地址配置不正确. l 网络不通. l 域名解析失败. l 监听端口被占用. 排查步骤 l 异常消息如下时,问题原因为AK/SK没有正确设置和携带到请求头里. { errorCode :

401002 , errorMessage : Request unauthorized , detail : Invalid request, header is invalid, ak sk or project is empty. } 检查方法: a. 检查项目中是否依赖如下认证模块(间接依赖也可以,比如项目依赖了cse- solution-service-engine). com.huawei.paas.cse foundation-auth b. 检查microservice.................

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题