消费者云CSE微服务实践提 供 者 1、接口定义 2、测试用例 3、码流 4、错误码... 最佳实践 无论Rest API,戒者RPC Highway API,统一使用Swagger YAML定义API 服务端和客户端都基于API定义,通过CSE提供的工具生成丌同语言的类库, 客户端可以丌导入服务端的类库定义,双方互相解耦 始终以在线的API定义为准,防止服务端私自修改接口代码(例如增减字段、 服务做发布审核,审核通过的才能够上线 服务治理目的:满足服务上下线管控、保障微服务的高效、 健康运行 部分服务治理配置项: CSE在消费者云业务的实践-更多实践 调用链跟踪,不Zipkin集成,自定义调用链打点 集成Nginx做边缘服务(API接入) 本地开发不调试 分布式配置服务 HTTP/2 安全,HTTPS… • 线上: – 关注微信公众获取信息 – 加入微信群进行交流0 码力 | 22 页 | 1.39 MB | 1 年前3
ServiceComb 介绍文档 接口 文档 生成 生成 • 面向接口契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同步 • 通过工具简化整个过程 API First & Code First 服务契约定义 注册中心、治理中心 SpringMVC JAXRS 支持多种Rest服务实现方式 Process Event-Loop 支持Restful以及RPC 异步事件操作保证系统性能 分布式调用追踪 • 支持标准追踪协议 • Zipkin • 支持@span扩展事务追踪 • 提供调用追踪扩展 • 可以配置自定义的追踪处理器 • 支持适配自定义追踪格式 http://github.com/ServiceComb ServiceComb代码库信息 − Java-chassis • Java版的微服务框架 ServiceComb组件的新特性 • Service-Center 0.2.0 • 提供了管理控制台,对注册的服务实例提供管理功能 • Java-Chassis 0.3.0 • 支持通过@Span注释的方式定义事务 • 统一了Http请求处理,支持对Rest调用进行定制处理 • Saga 0.1.0 • 提供了初步的Saga调用服务,支持顺序以及并发的调用处理 社区贡献 01/ 提交BUG0 码力 | 16 页 | 1.26 MB | 1 年前3
Apache ServiceComb 微服务创新项目解读ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件提供商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同实现基于契约(API)的数据、服务标准化管控 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 微服务 运行环 境 -在这样的数据格式设计下可生成多角度的配置视图,提升易用性,人类可读性 -学习成本高,运维人员要学习这个只在团队内部生效的key规则 -所有的key集中在一种类型的视图中管理,管理成本高。 -不断增长的规则定义,越来越复杂,人类不可读。 -Key设计无法扩展变更,没法轻易变更数据结构 Kie - 语义型分布式系统配置中心 core API storage config map cache backends maps Event producer 数据加密 用户自定义服务 Encryption web hook Version manager rollback history config map config view history Observer Config propagate propagate auth 自定义服务 Vault mongodb [Website]0 码力 | 13 页 | 1.24 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践架构培训 关键 技术 培训 服务化培训 服务化培训 案例 培训 研发&运维团队 微服务划分 微服务 开发 微服务测试 微服 务运 维 规范制定:微服务命名规范、微服务API定义规范、微服 务验收规范、微服务运维和治理规范… 技术选型:统一的微服务框架技术选型,涵盖微服务框架 、微服务流水线(CI/CD)、微服务自动化运维和部署框架 组织赋能:拉通设计、开发、测试和运维的跨团队培训、 API描述:无论Rest API,或者RPC Highway API,统一使用Swagger YAML定义API 微服务代码生成:服务端和客户端都基于API定义,通过 ServiceComb提供的工具生成不同语言的类库,客户端可以不导入服务 端的类库定义,双方互相解耦 微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API 微服务API依赖关系:通过微服务流水线编译、打包和系统集成0 码力 | 15 页 | 1.15 MB | 1 年前3
ServiceComb java SDK详解开发人员通过SPI扩展过滤功能 2.以过滤得到的Endpoint集合作为输入,根据配置的策 略进行LoadBalance: • 轮询、响应时间权重、随机 • 基于Netflix ribbon,开发人员可以根据需要自 定义IRule的实现 instances VersionRule 1.0.0-2.0.0 ...... Operation 1.0.0+ 1.1.0+ ZoneAware self other Edge Service-自定义路由 如果内置的路由规则无法满足业务需求,比如需要复杂的剪切修改url,或是修改码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: • 通过SPI声明VertxHttpDispatcher的扩展 • 通过getOrder声明相对其他dispatcher的执行顺序 • 自己能处理的url,拦截处理 – 根据自定义规则获取目标微服务名、版本规则、新url等等参数0 码力 | 21 页 | 1.15 MB | 1 年前3
微服务创新新品发布Maven/Gradle 插件 契约提取 代码生成 文档制作 契约校验 ServiceComb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 协同 •对应用程序透明。同步工具启停,不应该对应用程序的原有流程产生影响。 •为多服务中心提供对等网络。他们之间是松耦合的,成员可以自由加入与退出。 •对异构服务中心提供支持。插件化的形式支持多种服务中心驱动,用户可便捷的接入自定义插件。 gossip 协议 Syncer Syncer Syncer Syncer Syncer Syncer Consule Service Center Eureka Kubern timeout=10s -在这样的数据格式设计下可生成多角度的配置视图,提升易用性,人类可读性 假如说我们要定义A到B以及到某个API的超时时间 -学习成本高,运维人员要学习这个只在团队内部生效的key规则 -所有的key集中在一种类型的视图中管理,管理成本高。 -不断增长的规则定义,越来越复杂,人类不可读。 -Key设计无法扩展变更,没法轻易变更数据结构 分布式系统配置中心 7 github0 码力 | 12 页 | 2.96 MB | 1 年前3
Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见Chassis 0.2.0 加入Zuul支持, Spring Boot starter 服务中心优化 Service Center Java Chassis 0.3.0 Zipkin支持 支持自定义Span Sample示例优化 Service Center Java Chassis 0.4.0 服务中心升级 Service Center Java Chassis 0.5.0 边缘服务 Center Java Chassis 1.0.0-m2 提升etcd弹性伸缩 边缘服务网关优化 支持文件流上传下载 用户自定义访问日志 Service Center Java Chassis 1.0.0 正式稳定版本发布 自动生成脚手架工程 支持Http2协议 自定义ping机制 Saga 0.1.0 分布式Pack原型 Pack 0.3.0 优化后台性能 支持多种分布式协调机制0 码力 | 18 页 | 3.12 MB | 1 年前3
华为微服务框架ServiceCombNO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 分布式追踪 • 支持标准的分布式调用追踪Zipkin V1,V2 • 支持通过@span扩展自定义追踪 • 通过调用链支持自定义追踪扩展 2018 Building Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 Metrics • 覆盖关键指标 支持通过携程Apollo劢态配置实例 • Service Center • 优化Service Center性能,修复Bug • Saga 0.1.0 • 支持通过Annotation在用户代码定义事务 • Pack原型实现,通过切面编程技术获取事务信息,通过集中式的事务管 理器协调事务执行情况 2018 Building Microservice NO.1 深圳站: Cloud Native0 码力 | 28 页 | 1.53 MB | 1 年前3
微服务环境下的系统治理与容错构成的服务实例并没有大小方面的要求。 微服务的微 微服务的两个“谬论” n 服务之间是强隔离的。 n 微服务是大型系统的唯一选择。 解耦合 独立开发部署 架构、组织、流程 微服务架构定义“三步法” 微服务拆分方法 微服务拆分-指导原则 拆服务-单体重构的节奏 服务分解的四大障碍 1、网络延迟 2、同步通信降低了可用性 3、跨服务的数据一致性 4、上帝类 微服务的忠告 微服务的忠告 n 第一,要记住微服务不是解决所有问题的万能 “银弹”。 n 第二,编写整洁的代码和使用自动化测试至关重要,因为这是现代软件开发的基础。 n 第三,关注微服务的本质,即服务的分解和定义,而不是技术,如容器和其他工具。 n 第四,确保你的服务松耦合,并且可以独立开发、测试和部署,不要搞成分布式单体,那将会是巨大的灾难。 n 第五,也是最重要的,不能只是在技术上采用微服务架构。拥抱DevOps的原则和实践,在组织结构上实现跨0 码力 | 45 页 | 16.09 MB | 1 年前3
ServiceComb 微服务框架服务实例管理 • 高性能、高可靠 • 性能监控与调用追踪 特性介绍: Java-Chassis 分布式追踪 • 支持标准的分布式调用追踪Zipkin • 支持通过@span扩展自定义追踪 • 通过调用链支持自定义追踪扩展 • 支持Skywalking @Override @Span public double calculate(double height, double weight)0 码力 | 11 页 | 668.81 KB | 1 年前3
共 29 条
- 1
- 2
- 3













