华为企业级PaaS 微服务应用应用告警 日志分析 全链路拓扑 SQL分析 调用链 立体监控 方法追踪 事务洞察 微服务治理 负载均衡 限流/降级 熔断/容错 错误注入 黑白名单 微服务管理 注册中心 配置中心 治理中心 全局事务 契约管理 监控大屏 智能分析 环境管理 开发环境 测试环境 预验证环境 灰度环境 生产环境 商业生态(aPaaS/SaaS) 行业 (政府、教育、医疗、零售、……) 线 ( 持 续 集 成 、 持 续 交 付 ) 扩展插件: Eclipse等 扩展插件: 静态检查等 扩展插件: 三方部署系 统 扩展插件: 客户测试系 统 扩展插件: 客户自有仓 库 扩展插件: 客户自有监 控 开发者生态 开源社区 案例 开发者 API 产品 生态 通用微服务工具市场 行业微服务组件市场 虚机(ECS) servicecomb.apache.org 构建 归档 部署 配置中心 java python go nodejs php war jar 压缩包 二进制 Docker镜像 调整线上应用配置 x86 ARM CCI 虚机 CCE servicecomb.apache.org github.com/apache?q=servicecomb 围绕应用构建平台功能 • 操作的起点为应用 • 数据库,缓存服务,容器平台等围绕应用创建0 码力 | 17 页 | 3.42 MB | 1 年前3
Apache ServiceComb 开源微服务社区议CLA 由PMC提名并 投票选拔 由PMC提名并 投票选拔 由PMC提名并投票选 拔 由会员提名并投票选 拔 由会员提名并投票选 拔 拥有权利 提交issues 及patch 有代码库读写 权限 决策子项目需 求和方向 负责整体孵化项目决 策及投票 提议Committer候选 人及孵化器候选项目 管理与监督基金会商 务与日常事务 IPMC Apache软件基金会 LC3大会 微服务契约开发工具:https://github.com/apache/servicecomb-toolkit 案例集:https://github.com/apache/servicecomb-samples 配置中心:https://github.com/apache/servicecomb-kie 微服务鉴权框架:https://github.com/apache/servicecomb-fence ServiceMesh 服务通信规范 配置 流行微服务框架 可视化监控 分布式追踪 遗留应用转型 全新微服务开发 开发工具 代码自 动生成 契约自 动提取 契约校验 文档自 动生成 微服务脚手架 快速入门 案例代码库 用户手册 社区网站 开源异构微服务兼容 内核 服务中心 微服务开发框架 TCC&Saga 分布式事务框架 认证框架 配置中心 多语言方案 Rest(OpenAPI)0 码力 | 15 页 | 2.86 MB | 1 年前3
张波-虎牙直播在微服务改造中的实践虎牙基础保障部中间件团队负责人 2019.8.11 Service Mesh Meetup #6 广州站 微服务改造事项 DNS-F在数据 库场景的落地 名字服务在负 载均衡场景的 落地 DNS-F在微服 务场景的落地 应用层探活 数据库故障 恢复时间长 服务故障牵 引慢,流量 接入生效时 间长 DNS生效慢 内部服务无 就近接入能 力 服务性能下 降流量不摘 除 实 例 入 能 力 异 常 摘 除 能 力 dmx dns-f app nacos M S write read DNS-F在数据库场景的落地 背景 在数据库服务切换时效率低,依赖 业务方修改配置,时效不确定,通 常需要10分钟以上; 目标 数据库切换秒级生效; 技术特点-DNS-F M S S S M1.mysql S1.mysql S2.mysql S3.mysql if 负载均衡变更需要更新配置发布后 才能生效,节点扩缩容,屏蔽操作 需要人工参与,流量接入接出时间 长 目标 流量接入接出时长低于30秒 负载均衡配置下发无状态改造 虎牙负载均衡部署的机器数百,配置下发的可靠性保障,一致性保障要求特别严格, 如果出现配置下发不及时,或下发配置失败,极大可能出现故障,同时负载均衡服 务弹性能力的要求较高,在业务高峰如果不能快速扩容,容易出现全网故障 传统配置下发方式 负载均衡配置固话在配置文件中,0 码力 | 27 页 | 1.03 MB | 1 年前3
NTTDATA 汽车行业数字营销平台微服务化实践线下数字化布局 车联网及线下店端消费者旅程与线上消费 者旅程相结合,设计多种跨渠道跨屏互动, 引导进店消费者通过扫码,配车,留资等 行为整合线上数据 利用人脸识别等多种技术及平台,通过可 配置用户聚类评级模型和数据处理算法, 实现消费者深度洞察,提高销售线索质量 及转化率,助力经销商销售 新媒体营销数字化布局 从微信营销及小程序开始布局其他新兴媒体渠道,如抖 音,汽车之家等,基于360°消费者画像的精准营销触达。 支持数字营销快速、多样、变化的业务场景,避免系统分散重复,将技术投资回报最大化。 以智能化,可持续发展思路,打造车企C2B2C用户体验优化闭环。 可配置适应业务生长,帮助企业更快速、灵活地应对不断变化的市场需求,随时调整业务模式快速配置,以最低成本适应弹性的数据需求。 • 主机厂/经销商、线上/线下线索管 理集中化 • 线索/会员/车主服务集中化 • 数据集中化 集中化 • 用户体验能力标准化 servicecomb.apache.org 业务微服务化及分层设计 应用微服务引擎 第一层.CRM静态站点 第二层.CRM 业务网关 第三层.CRM 业务微服务 第四层.CRM 业务数据 服务中心 配置中心 治理中心 IT运维 日志可视化 (华为云) CDN/ WAF 资源监控预警 (华为云 AOM) 营销平台 接口服务 消息 REST NAT网关 NAT gateway 4核8G0 码力 | 11 页 | 2.25 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践Java语言: Dubbo Motan LB 内置LB: 客户端负载均 衡 外置LB: Nginx、 Ribbon SLB 注册中心 配置服务: Zookeeper etcd 缓存方案: Redis 数据库方案: DB + MQ 服务治理 服务治理: 超时、流控、 降级等 运维KPI: ELK Zabbix 调用链: zipkin 选择ServiceComb的原因: Highway API,统一使用Swagger YAML定义API 微服务代码生成:服务端和客户端都基于API定义,通过 ServiceComb提供的工具生成不同语言的类库,客户端可以不导入服务 端的类库定义,双方互相解耦 微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API 微服务API依赖关系:通过微服务流水线编译、打包和系统集成 有返回响应,客户端业务线程就会一直阻塞(wait),傻等期 间,无法处理其它业务消息。 2、纠结的超时时间:服务的超时时间配置是个比较纠结的事 情,如果超时时间配置过大,如果响应慢,会导致线程被长时 间挂住;如果配置过小,则会导致超时增多,成功率降低。 3、雪崩效应:假如超时时间配置较大(例如3S),服务端响 应的平均时延达到了超时时间阈值,会导致业务线程长时间处 于wait状态,工作效率降低,业务堆积,发生级联的雪崩效应。0 码力 | 15 页 | 1.15 MB | 1 年前3
解读ApacheGPL, LGPL, ⾮商业许可证, JSON 发布版本 发布版本 在法律上,是基⾦会的⾏为 “不需要去⼯作” “需要合适的协议” 由PMC授权 需要投票 需要电⼦签名 通过⼤范围的镜像系统分发 发布 发布 已签名 需要孵化免责声明 有 LICENSE 和 NOTICE ⽂件 遵循ALv2以及任何包括第三⽅软件的协议声明 源⽂件有ASF头 由未编译的源码构成 ⼆进制版本 基于Etcd的⾼性能服务中⼼ Pack - ⽀持Saga和TCC的Centrical分布式事务协调器 Mesher - 基于Go的服务⽹格实现 Kie - 全新设计的MicroServices配置中⼼ 进⼊Apache的⽅法 进⼊Apache的⽅法 撰写项⽬提案 找到 Champion 和Mentor 在IPMC讨论提案 为你的提案开始⼀轮投票表决 在Apache孵化器创建⼀个孵化项⽬0 码力 | 43 页 | 4.89 MB | 1 年前3
使用微服务架构快速开发万级TPS高可用电商系统房资格的对应信息(验资,诚意金等) id, customer_id, sale_id, comments 1…..* 接口 内容 customers CRUD qualifications CRUD 数据库 API git clone https://github.com/apache/servciecomb-samples cd servicecomb-samples/houserush/script/docker http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 最简单的微服务 组件 • 1个服务(应用+数据库) • 服务注册中心 a) https://github.com/apache/servicecomb-center 服务注册中心 b) 核心服务注册表 |---服务名---|---服务实例UID apache.org [Github ] https://github.com/apache?q=servicecomb 服务间的通信 背景:为什么服务间通信重要? • 每个微服务有自己的数据库(层) • 服务架构应用的质量很大程度取决于服务的拆分的高内聚,低耦合,不了解服务间通信,无法做出高质量的拆分。 不同的业务,涉及的不同的服务间通信有不同的要求 1. 关注事务性要求(ACID)0 码力 | 15 页 | 1.46 MB | 1 年前3
微服务架构及ServiceComb实践返回当前天气 数据库 API 任务 内容 getWeatherTask 从OpenWeatherMap定期 查询天气数据 定时任务 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 最简单的微服务 – 微服务的基本组件 组件 • 1个服务(应用+数据库) • 服务注册中心 apache.org [Github ] https://github.com/apache?q=servicecomb 服务间的通信 背景:为什么服务间通信重要? • 每个微服务有自己的数据库(层) • 服务架构应用的质量很大程度取决于服务的拆分的高内聚,低耦合,不了解服务间通信,无法做出高质量的拆分。 不同的业务,涉及的不同的服务间通信有不同的要求 1. 关注事务性要求(ACID) apache.org [Github ] https://github.com/apache?q=servicecomb 微服务的其他组件 • 配置中心 a) 集中配置 b) 动态配置 c) 配置历史保留 d) 配置回滚 社区召集! e) 灰度发布配置 社区召集! • 认证鉴权 a) 认证 b) 鉴权 • Toolkit a) 契约 b) 脚手架 • 分布式日志 https://github0 码力 | 14 页 | 2.04 MB | 1 年前3
消费者云CSE微服务实践微服务框架技术选型-灵活和轻量级架构 当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式 服务框架要足够轻量级,可以按需加载类库,防止不当前业务的 三方库发生冲突 启停速度要快(秒级弹性伸缩)、资源占用要合理 微服务框架技术选型-微服务安全 有些业务场景对微服务调用安全要求较高,需要微服务框架支持 SSL传输、API鉴权和认证等 无论Rest API,戒者RPC Highway API,统一使用Swagger YAML定义API 服务端和客户端都基于API定义,通过CSE提供的工具生成丌同语言的类库, 客户端可以丌导入服务端的类库定义,双方互相解耦 始终以在线的API定义为准,防止服务端私自修改接口代码(例如增减字段、 修改字段类型) 每日微服务流水线构建,及时发现接口丌兼容问题 CSE CSE 消费者 提供者 模 拟 桩 服务 端 Mock 框架 客户 端 Mock 框架 CSE在消费者云业务的实践-Spring MVC模式开发微服务 1、配置spring mvc依赖 2、注解Service 3、发布Service 优势:除了Spring MVC开发模式,同时 还支持: JAX-RS 透明RPC CSE在消费者云业务的实践-可靠性0 码力 | 22 页 | 1.39 MB | 1 年前3
庖丁解牛:华为云微服务工具解放开发者割到不同库中 原则:低耦合,高内聚 耦合度:微服务划分后,微服务与微服务连接的边的权重之和 内聚度:微服务划分后,微服务内部表与表之间的边权重之和 采用图搜索算法划分微服务的启发式规则(规则可自定义): 规则1:贪婪原则 规则2:完全独立的表可归属任意微服务,也可独立成微服务 规则3:归属同一微服务的表数量不低于5(作为参数可配置) 规则4:关联度大于10(作为参数可配置)的表归属同一微服务 8 微服务拆分工具 单体应用 单体数据库 微服务数据库 A库 B库 服务A 服务B 步骤1:通过SQL的关联程 度、使用次数等,识别出 相关性最高的表划分成一 个微服务 微服务数据库 A库 B库 服务A 服务B 步骤2:通过表结构调整, 将不同的数据库进行解耦, 防止一个微服务跨库访问 (反范式、服务重构等) 微服务数据库 A库 B库 服务A 服务B 步骤3:大表水平拆分,实 8 2 8 20 2 2 22 5 2 4 4 3 6 6 39 5 5 2 2 2 2 2 4 从左到右分别是拆分出来的商品库、模板库,最后一些离散表是系统为了关联外部系统而引入的表,独立成库 Huawei Confidential 11 案例2:存量系统2微服务拆分分析-图搜索拆分微服务 从左到右分别是拆分出扩展属性服务、模型/模型实例服务、目录服0 码力 | 14 页 | 1.54 MB | 1 年前3
共 39 条
- 1
- 2
- 3
- 4













