消费者云CSE微服务实践尽管现在以Java和GO语言为主,但是从架构演进角度考虑,未来 会根据消费者业务自身的特点引入更适合的语言 服务框架丌要绑定具体的语言实现,例如内部通信协议使用某种 语言特定的序列化机制、发布泛型、抽象接口等 微服务框架技术选型-灵活和轻量级架构 当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式 服务框架 障都比较给力 天生支持Docker容器不华为公有云,降低业务云化成本 CSE在消费者云业务的实践-API First API 接口 契约 消费者1 消费者2 消费者...N 提 供 者 1、接口定义 2、测试用例 3、码流 4、错误码... 最佳实践 无论Rest API,戒者RPC Highway API,统一使用Swagger 服务端和客户端都基于API定义,通过CSE提供的工具生成丌同语言的类库, 客户端可以丌导入服务端的类库定义,双方互相解耦 始终以在线的API定义为准,防止服务端私自修改接口代码(例如增减字段、 修改字段类型) 每日微服务流水线构建,及时发现接口丌兼容问题 CSE 消费者 提供者 模 拟 桩 服务 端 Mock 框架 客户 端 Mock 框架 CSE在消费者云业务的实践-Spring0 码力 | 22 页 | 1.39 MB | 1 年前3
微服务架构及ServiceComb实践使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb Demo简介 从一个简单的天气预报微服务应用谈起 regions 存储地区信息 id, regionName weathers 存储当前时间的天气信息,包括,气温,风向…. id, temperature, pressure… 1…..* 接口 内容 currentWeather 返回当前天气 数据库 API 任务 内容 getWeatherTask 从OpenWeatherMap定期 查询天气数据 定时任务 [社区网站] http://servicecomb 服务注册中心 ServiceCenter a) https://github.com/apache/servicecomb-service-center b) 当前实例的报表 (UI), 详细的API 接口列表 c) 某服务实例数低于阈值指报警 社区召集! • SDK a) https://github.com/apache/servicecomb-java-chassis java SDK0 码力 | 14 页 | 2.04 MB | 1 年前3
ServiceComb 微服务框架ServiceMesh ServiceCenter 是一个使用Go构造的、建立在etcd存储上的高性能、高 可用服务中心。 Java Chassis是一个由编程模型、运行模型、通信模型和服务契约四个 部分组成的微服务框架。 Saga 是一个微服务数据一致性解决方案。 ServiceComb的开放性设计 •Provider与Consumer具有完全 一致的开发体验 •通信模型与编程模型隔离,适 •根据需要,后期会继续集成更多的组件 集成Spring Cloud组件 服务发现 •Spring Cloud通过@EnableDiscoveryClient来支 持服务发现 •需要实现DiscoveryClient接口,提供获取服 务实例的实现 •通过@Configuration来设置相关服务实例 •设置完DiscoveryClient后,可无缝集成到 Spring Cloud Zuul 加入我们 •0 码力 | 11 页 | 668.81 KB | 1 年前3
庖丁解牛:华为云微服务工具解放开发者Huawei Confidential 5 拆分不好,可能带来的问题 •拆分不好,可能带来的问题 >服务数量爆炸,运维复杂 >服务数量太少,不够灵活 >一个user story影响众多服务 >接口频繁变更 >大量关联查询 >系统架构复杂度提升 Huawei Confidential 6 通过微服务拆分工具解放开发者 支撑活动 方法论 • ThoughtWorks五步十一阶 • DDD聚合 Huawei Confidential 11 案例2:存量系统2微服务拆分分析-图搜索拆分微服务 从左到右分别是拆分出扩展属性服务、模型/模型实例服务、目录服务以及离散表独立成的服务,其中离散表中标红部分概念上应该划分到模型/模型实例服 务中,但实际的sql,却并未体现其和模型/模型实例的关联关系,因此被自动划分到独立服务中 Huawei Confidential 12 微服务架构下,API管控的挑战0 码力 | 14 页 | 1.54 MB | 1 年前3
使用微服务架构快速开发万级TPS高可用电商系统使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 • 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 适合同学们学习 Demo也可以作为生产系统的一部分 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb Demo简介 从一个简单的电商Demo开始。 qualifications 存客户的购房资格,购房资格针对某次抢购活动,也会保存购 房资格的对应信息(验资,诚意金等) id, customer_id, sale_id, comments 1…..* 接口 内容 customers CRUD qualifications CRUD 数据库 API git clone https://github.com/apache/servciecomb-samples0 码力 | 15 页 | 1.46 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践务 端的类库定义,双方互相解耦 微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API 微服务API依赖关系:通过微服务流水线编译、打包和系统集成 测试,识别并展示微服务API之间的依赖关系(我依赖谁、谁依赖我) API变更管控:API变更邮件通知和审批,每日微服务流水线构建, 及时发现接口不兼容问题 实践-不同的微服务开发风格 Website: incubator.apache.org/ Gitter: https://gitter.im/ServiceCombUsers/Lobby 利用ServiceComb的隔离仓技术,实现业务不同接口的故障隔离 充值服务 APP付费下载服务 APP评论服务 业务线程池 手机客户端 WAP客户端 图书门户 单点故障 故障扩散 故障扩散 无线程池隔离仓: 充值服务 开户服务 其它非关键服务 隔离仓-1 隔离仓-3 手机客户端 WAP客户端 图书门户 单点故障 正常 正常 隔离仓-2 配置隔离仓: 通过配置线程池隔离仓,实现快 慢接口、读写接口、核心和非核 心接口、管理和业务接口的调度 隔离,提升微服务可靠性 实践-轻量化 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter0 码力 | 15 页 | 1.15 MB | 1 年前3
NTTDATA 汽车行业数字营销平台微服务化实践整业务模式快速配置,以最低成本适应弹性的数据需求。 • 主机厂/经销商、线上/线下线索管 理集中化 • 线索/会员/车主服务集中化 • 数据集中化 集中化 • 用户体验能力标准化 • 外部接口标准化 • 营销能力标准化、营销形式个性化 标准化 • 线索清洗评分智能化、智能分流 • 自动化个性精准营销 • 自动化投放追踪 • 营销内容自动分发 • 智能客服 智能化 • 移动端优先、用户体验优先 安全体系 协同平台 价值体系 流程体系 第三方渠道 展会 数字 展厅 PC门户 企业微信 官网 短信 小程序 公众号 标准体系 标签体系 数据 中台 …… 存储服务 安全服务 接口网关服务 日志服务 网络服务 …… 短信服务 技术 中台 ……. 消费者互动数据 消费者账号 消费者基础信息 消费者交易数据 消费者服务数据 ….. 人 人车关系数据 车况数据 车辆维修保养数 第三层.CRM 业务微服务 第四层.CRM 业务数据 服务中心 配置中心 治理中心 IT运维 日志可视化 (华为云) CDN/ WAF 资源监控预警 (华为云 AOM) 营销平台 接口服务 消息 REST NAT网关 NAT gateway 4核8G 按需扩容 4核8G 按需扩容 Nginx 按需扩容 My SQL 高 可 用 安全组隔离 安全组隔离 安全组隔离0 码力 | 11 页 | 2.25 MB | 1 年前3
ServiceComb 介绍提供用户支持也不太方便 Java Go 服务 契约 生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向接口契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同步 • 通过工具简化整个过程 API First & Code First 服务契约定义0 码力 | 16 页 | 1.26 MB | 1 年前3
ServiceComb 的前世今生Go 服务 契约 生成工具 框架 代码 框架 代码 框架 代码 接口 文档 接口 文档 接口 文档 生成 生成 • 面向契约而不是逻辑 • 解耦服务提供者和消费者的开发顺序 • 契约定义为语言中立 • 规范化系统接口,让实现与文档的同 步成为必须 • 通过工具简化整个过程 API First 增速微服务开发0 码力 | 16 页 | 1.45 MB | 1 年前3
华为微服务框架ServiceComb和微服务实践 异步性能支持 • 基于Vertx提供的异步内核 • 保持高性能的同时支持同步调用方式 • 将通信线程不业务处理线程分离 • 操作级别线程池控制,支持隔离仓 • 支持多种异步编程接口 • CompletableFuture • RxJava • Reactive Stream • ……. Process Event-Loop Process R R Native 架构下的 K8S 和微服务实践 Metrics • 覆盖关键指标 • 支持多时间周期性能指标统计 • 集成Prometheus,OverWatch • 提供health check 接口检查 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、NonHeap 基本的资源使用状态 Consumer端 Latency、CallCount、TPS Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 ServiceComb 1.0.0-m1新特性 • Java Chassis • 异步调用接口支持 • 监控指标模块优化,支持不prometheus, OverWatch • 支持通过携程Apollo劢态配置实例 • Service Center • 优化Service Center性能,修复Bug0 码力 | 28 页 | 1.53 MB | 1 年前3
共 30 条
- 1
- 2
- 3













