检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何进行本地开发和测试? 本地开发工具给开发者提供开发、调试、测试过程中的服务发现、注册和查询功能。 概念阐述 本小节介绍如何在开发者本地进行消费者/提供者应用的开发调试。服务提供者和消费者均需要连接到在远程的服务中心,为了本地微服务的开发和调试,本小节介绍了如何启动本地服务中心。
本地开发工具说明 本地开发工具包含了ServiceComb引擎2.x的本地轻量化版本,提供用于本地开发的轻量服务中心、配置中心,和简单易用的界面。 使用说明请参考本地开发工具压缩包中的README.md文件。 表1 本地引擎资源配额限制 功能 资源 最大配额 微服务管理 微服务版本数量(个)
规划开发环境的目的是要保证开发人员更好的并行工作,减少依赖,减少搭建环境的工作量,降低生产环境上线的风险。 管理开发环境的目的是为了更好的进行开发测试,部署上线。 图1 开发环境 结合项目经验,一般会按照图1规划开发环境: 搭建内网本地开发环境。本地开发环境的好处是各个业务/开发者可以搭建符合自己需要的最小功能集合环
准备环境 环境准备包括本地开发调试环境和云上环境准备。 准备本地开发调试环境 本地开发调试环境用于搭建一个简易的测试环境,可以有以下两种选择: 下载本地轻量化微服务引擎。 使用ServiceComb引擎专享版,并开放公网访问的IP,保证本地环境能够访问。 准备云上环境 微服务应用
连接服务中心提示“Version validate failed” 异常消息 {"errorCode":"400001","errorMessage":"Invalid parameter(s)","detail":"Version validate failed, rule: {Length:
160}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{0,158}[a-zA-Z0-9]$}"} 本地注册服务报错日志: 问题原因 本地轻量化默认Schemas:100个配额,达到配额上限。 解决方案 修改本地轻量化工具包解压后的文件中的“/conf/app.conf”文件中的quota_plugin="unlinit"。
档。 前提条件 创建ServiceComb引擎,请参考创建ServiceComb引擎。 代码接入 Provider端: package main import ( "crypto/tls" "log" "net/url"
合理的规划系统架构 Spring Cloud提供了丰富的组件,帮助搭建具备足够韧性的云原生系统。spring cloud gateway具备通用网关的大部分能力,并且集成了Spring Cloud的服务治理能力,可以实现Spring Cloud多协议转发。一个典型的Spring Cloud云原生架构如下:
合理的规划系统架构 Java Chassis提供了丰富的组件,帮助搭建具备足够韧性的云原生系统。Edge Service具备通用网关的大部分能力,并且集成了Java Chassis的服务治理能力,可以实现Java Chassis多协议转发。一个典型的Java Chassis云原生架构如下:
上述报错,是微服务注册中心地址不可用导致的。 解决方法 启动服务在本地部署 在本地机器上使用curl https://注册中心IP地址:30100/health命令检查注册中心工作状态,查看是否返回类似如下信息: curl: Failed to connect to xxx.xxx.xxx
mer服务接入Nacos引擎。 前提条件 已创建Nacos引擎,具体操作请参考创建注册配置中心。 下载github的demo源码到本地并解压。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 约束限制 Nacos对Eureka的兼容,
随着微服务架构模式被越来越多的开发者作为应用系统构建的首选,稳定可靠的微服务运行环境变得非常重要。 微服务引擎(CSE)是应用管理与运维平台(ServiceStage)针对微服务解决方案提供的一站式管理平台,使用微服务引擎,开发者可以更加专注于业务开发,提升产品交付效率和质量。微服务架构模式通常包含如下内容: 微服务之间的RPC(Remote
和消费端greeter_client的代码。 在本地go环境构建出二进制软件包grpc-provider和 grpc-consumer,执行命令如下。 GOOS=linux go build -o grpc-provider main.go GOOS=linux go build
修改demo中的注册中心地址和配置中心地址。 在下载到本地的demo源码目录下,分别找到“\basic\consumer\src\main\resources\bootstrap.yml”和“\basic\provider\src\main\resources\bootstrap.yml”文件。
务名称、版本号、服务契约、实例地址等;微服务需要调用其他微服务的接口时,从CSE查询实例信息,并将实例信息缓存到本地,缓存会通过事件通知、定时查询等机制更新;通过本地缓存的地址信息,实现微服务之间的点到点调用,当微服务存在多个实例的情况,可以配置不同的负载均衡策略,包括轮询、权重、灰度发布、同可用区优先等。
问题描述 老版本的Spring Boot允许bean重名覆盖,新版本默认不允许,需要通过配置项启用。 解决方案 增加配置: spring: main: allow-bean-definition-overriding: true Spring Data接口变更 问题描述
Chassis的容错作用于微服务消费者,需要微服务应用集成容错模块,启用bizkeeper处理链。 配置示例如下: servicecomb: handler: chain: Consumer: default: bizkeeper-consumer 在POM中添加如下依赖: <dependency>
alias 否 String 微服务引擎的别名(展示的名称)。 最大长度:64 maintenanceConfig 否 MaintenanceConfig object 应用网关的维护时间窗。 表4 MaintenanceConfig 参数 是否必选 参数类型 描述 time 否 String
slidingWindowType: COUNT_BASED failureRateThreshold: 20 recordFailureStatus: - 502 - 503 默认策略是在异常错误码为502、503情况下生效,1
errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 请求示例