ServiceComb 开源微服务框架技术演进之路 巨震ServiceComb 开源微服务框架技术演进之路 巨震 软件工程师,华为 • 服务形态演进 • 基于SDK的传统微服务框架 • 何为Service Mesh • 演进:从SDK到Service Mesh • 拥抱Service Mesh开源生态 • 相关资源 #微服务 #Service Mesh #Sidecar #云原生 #SDK #数据面,控制面 通信:http、 RPC… • 服务治理 • 透明代理 • 通信:通用协议 • 服务治理 • Cloud Native部署 ServiceComb 一个基于SDK的“传统”微服务框架 Service Center service Java chassis Config Center service Go chassis Registration ServiceComb 服务注册中心 公众号 WebUI App Gateway ServiceComb SDK Mesher (华为商用及开源ServiceMesh方案) 业务面 性能测试 0 2000 4000 6000 8000 10000 12000 14000 QPS QPS 原生应用 Go SDK Sidecar Istio(no mixer) Istio0 码力 | 20 页 | 861.58 KB | 1 年前3
大规模分布式系统架构下调测能力构建之道大规模分布式系统架构下调测能力构建之道 李鑫 大纲 分布式环境下开发的调测效率问题 应对之道 远程应用服务 契约测试 分布式消息服务 分布式缓存 分布式服务的“租户”隔离策略 总体调测框架实践 分布式环境下调测方法论 单体应用 服务化 微服务 小中型规模应用+小型团队 中大型规模应用+多团队协同 Cache DB NFS Load Balancer 头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样, 结果,一系列的灵异状况发生了… 4. 依赖的远程服务 测 效率,结果消息服务、缓存服务、服务框架装完一启动,80% 的系统资源就没有了,想想还有一堆的应用服务还没装,直接 泪崩… 8. 办公区断网,所有线上依赖环境都无法访问了,得,今天啥也 干不了了,回家洗洗睡吧…. … ….. ……… 1 2 3 解决之道:通过技术手段,降低系统对外部的依赖,而“MOCK”,是最 有效的手段。 分布式服务框架mock能力构建 应用 服务容器(Consumer)0 码力 | 19 页 | 2.74 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践试 集 群 生 产 集 群 API网关 (流量接入层) 路由 路由 插件 分流 流量 镜像 维护 开关 API 监控 认证 鉴权 治理 文档 报表 微服务框架 (服务治理) 服务 目录 注册 发现 限流 熔断 降级 容错 路由 负载 均衡 参数 分流 拓扑 依赖 配置 中心 服务 监控 服务 告警 认证 鉴权 (开发流程管理) 代 码 检 出 代 码 编 译 镜 像 构 建 集 成 测 试 自 动 部 署 流水线管理 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 www.163yun.com 多样需求 持续集成 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译 镜像 构建 集成 测试 部署 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像 仓库 测试镜像 仓库 历史 管理 批量 导入 接口0 码力 | 39 页 | 3.06 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地compatible) Production 微服务研发平台落地 落地优秀实践,守护架构,降低微服务 研发学习成本 企业研发⼯工具链⽣生态 敏敏捷协作平台 部署发布 平台 持续交付流⽔水线平台 ⾃自动测试 平台 微服务系统设计,研发与运维管理理 微服务 /API设 计 代码 ⽣生成 契约 服务 架构 演进 微服务 运维治 理理 部署架 构 设计 统⼀一协作平台 研发⼯工具连 开 发 服务运⾏行行治理理 服务 部署 运⾏行行架构治理理 故障 分析 定义架构 约束条件 微服务架构设计 服务地图 设计 API设计 部署架构设计 微服务⼯工程创建 开发 框架 架构 ⻛风格 资源 配置 … 架构演进 服务 关系 分析 代码 质量量 分析 数据 库分 析 领域 模型 分析 运⾏行行资 源管理理 PaaS、 容器云资 源管理理 公共 设计API 导swagger ⽂文件 API清单 设计变更更与 需求关联 服务地图变 更更历史 ⽣生产环境 部署架构设计 测试环境 部署架构设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 推荐部署架构(远期规划) 微服务开发框架定制 代码架构⻛风格选择 资源配置 数据库版本管理理 是否⾃自动⽣生成API/ Dockerfile/流⽔水线 ⽣生成 代码0 码力 | 42 页 | 2.95 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化依托公安部门互联网可信身份认证体系 • 用户登录后,业务系统不再要求用户登录 9、前端开发 -- 封装公共组件 ,磨刀不误砍柴工 1、封装DGD-SDK公共组件 2、合包工具 3、Taro框架预研 10、API网关 – 限流保护已有系统、提升访问安全性 • 1.业务应用A 向网关申请接入,网关分配paasid、token给业务应用; • 2.业务应用A 使用paasid、token 发布服务,或申请授权访问其他服务; • 3.前端小程序向网关请求业务应用A 的接口服务,网关请求业务应用A提供的服务,返回给前端小程序。 11、后台服务 -- 构建分布式微服务框架 1.采用etcd 构建微服务框架 etcd是一个分布式的 、一致的key-value存储,主要用途是共享配置和服务发现。Etcd已经在很多分布式系统中得 到广泛的使用。Etcd采用raft协议,来保证一致性。 2 2、政务云互联网区:静态资源、网关 3、互联网区:小程序、云服务 二、安全防护 1、仅开放指定端口 80 443 2、域名须有HTTPS证书 3、白名单 13、安全渗透测试、运维监控 -- 确保系统稳定 一、业务应用上线前必须经过安全渗透测试。 1、在测试环境中扫描出:越权查询、SQL注入、明文传输等,要求整改 2、正式环境检查: 操作系统、数据库、中间件漏洞,建议打补丁 二、运维监控每日 1.采用ELK收集系统日志、监控异常信息0 码力 | 35 页 | 15.60 MB | 1 年前3
全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash0,功能和性能全面大幅提升 量子应用 量子算法库 量子编程框架 量子控制 量子芯片 模拟器 化学模拟 组合优化 人工智能 模拟算法 优化算法 学习算法 编程语言 编译器 资源管理 资源调度 量子纠错 控制脉冲 量子-经典接口 超导 离子阱 金刚石色心 HiQ 1.0 展开 HiQ 2.0 展开 HiQ 2.0 量子化学 量子调控 编程框架 线路模拟 新增 HiQ Pulse 新增 备,有效参数约减,线路优化,并行梯度计算等) 6.支持 GUI 界面友好编程体验 华为量子化学软件包 HIQ Fermion 1:多参数约减算法,可约减高达80% 2: 多参数梯度优化算法, 测试300+参数 3: 量子线路压缩高达70% 累计提速 超过1600倍! Ansatzes Ops Drivers Transforms Optimizers Utils GUI HiQ Fermion 和测量,用经典计算机处理能量及参数优化更新。 量子部分 经典部分 华为 HiQ Fermion: 部分关键功能测试数据 提供不同优化器作对比 支持量子化学主流的费米子编码方法 Bravyi-Kitaev Transform 华为 HiQ Fermion: 部分关键功能测试数据 具备刻画分子势能面的能力 支持多种Hardware Efficient Ansatz CNOT Single0 码力 | 34 页 | 5.57 MB | 1 年前3
声明式自愈系统——高可用分布式系统的设计之道-王昕尽量避免复杂状态机,逻辑不要依赖无法监控的内部状 态 每个模块都可以在必要时优雅地降级服务 每个模块都可以在出错后自动恢复 假设任何命令都可能被任何调用对象拒绝,甚至返回错 误结果 声明式自愈系统的现有框架——Kubernetes 声明式自愈系统设计理念的回顾 统一接口 和对象模 型 自愈 能力 幂等操 作和状 态机 DS 和 RS Desired State 可重用部分 已完全实现 State 设计实现声明式自愈系统的工具与方法 架构选型 •选择基础状态持久化框架 •参考系统:Kubernetes 高可用 系统设计 •设计并验证高可用分布式系统 •参考工具:TLA+ Toolkit 系统实现 •实现高可用系统的控制模块 •参考模式:Kubernetes Operator 系统测试 •测试分布式高可用系统的自愈能力 •参考工具:Jepsen 目录 Ø 分布式系统面临的高可用问题0 码力 | 44 页 | 2.47 MB | 1 年前3
唯品会调度系统的前世今生P还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn 体系中的定位 服务化框OSP 开发框架Venus 唯品会基础架构体系 消息队列 VMS 全链路监控 Mercury 统一日志平台 dragonfly 任务调度平台 Saturn 统一配置中心 CfgCenter 统一鉴权中心 Observe r ob-saturn-zk-* 2台 3台 x台 调度器集群 接入域-B 执行结点 作业实现 功能地图 01 02 03 多种作业类型与 作业模式 资源动态平衡 框架与业务隔离 三大功能特性 Shell作业 消息作业* JAVA作业 分布式与本 地作业模式 • 完美兼容现有PHP的作业,可无缝迁移,成本最低 • 提供多种业务开发模式,满足不同的业务需求 平衡负载 资源利用 • 灵活的运维配置与部署 • 高效资源利用 • 简便的管理 人工指定 自动平衡 资源平衡调度算法 框架代码 与业务代 码隔离 集中化动 态增加与 删除作业 • 简化开发,避免冲突,业务无侵入 • 易于发布与维护 • 框架升级与业务脱离 框架与业务隔离 Shell作业 Java/消息作业 Saturn Executor PHP脚本 Python脚本 System0 码力 | 58 页 | 5.40 MB | 1 年前3
降级预案在同程艺龙的工程实践-王俊翔备选服务 熔断、限流 降级 业界解决⽅方案 - HYSTRIX Netflix开源的一款容错框架,支持多种降级熔断技术 资源隔离 断路路器器 降级操作 请求合并 请求缓存 实践过程中遇到的问题 • 业务改造成本⾼高,代码耦合,维护成本增⾼高 • 固化策略略,需线下修改代码,测试,发布,线上应急策略略响应不不 友好 • ⽆无法⽀支撑多系统的复合指标计算,业务降级⽀支持不不友好 源隔 离、延迟处理理 • 策略略灵活调整,实时监控策略略运⾏行行状态 应⽤用 / 服务 降级代码管理理 • 线上代码开发、测试、发布 • 降级代码统⼀一管理理 • 脚本代码动态编译,对象管理理 业务保障平台应 SDK 线下开发 策略略配置 测试 发布 WEB IDE 线上开发 降级⽅方法使⽤用 Git 降级代码 线下代码管理理 脚本 降级服务如何⾃自动探测恢复 根据链路路关系、同等级优先级进⾏行行预案编排, 形成降级执⾏行行链路路 • 线上实时预案测试、演练,演练数据回溯 业务不不断迭代,持续引⼊入新依赖,系统是否稳定可靠? 预案是否依然持续有效? 如何才能持续保障系统的⾼高可⽤用性? 故障演练 • 对预案进⾏行行有效性、合理理性验证 • 通过破坏性测试,发现系统的潜在故障,及时修正,并做好降级预防措施 • 参数修正,及时调整流控、降级策略略,优化告警、超时参数设置0 码力 | 26 页 | 18.67 MB | 1 年前3
高可用分布式流数据存储设计-李玥ns 6, 000 ns 70, 000 ns 1 ms = 1, 000, 000 ns JournalQ有多快? 32, 961, 776 TPS 测试服务器器:32C/256G/4TB SSD/万兆以太⽹网 测试每条消息⼤大⼩小为:1KB LZ4 压缩 单节点 存储结构设计 0 10 50 55 80 Journal 0 10 50 55 80 Index 0 O(1) 缓存 Cache File 堆外内存 异步预加载 读写共⻚页 PLRU淘汰策略略 ⾼高并发 ≠ ⾼高性能 减少等待 异步: Future, Callback, React框架 流程拆分 减少锁:CAS原语 减少锁等待: 读写锁, 细粒度锁 写⼊入数据流程 IOThreads 接收请求 Requests Queue WriteThread 处理理0 码力 | 36 页 | 6.02 MB | 1 年前3
共 28 条
- 1
- 2
- 3













