微服务和Service Mesh 在多个行业落地实践开 发 集 群 测 试 集 群 生 产 集 群 API网关 (流量接入层) 路由 路由 插件 分流 流量 镜像 维护 开关 API 监控 认证 鉴权 治理 文档 报表 微服务框架 (服务治理) 服务 目录 注册 发现 限流 熔断 降级 容错 路由 负载 均衡 参数 分流 拓扑 依赖 配置 中心 服务 监控 服务 告警 全链路压测 性能监控 注册发现 服务管理 www.163yun.com ZIP源码包 持续集成 重新开发 迭代修改 个性开发 统一模版 接口统一 利于复用 文档一致 减少沟通 某视频监控企业:IT资产沉淀与IT能力复用 持续集成 容器化 注册发现 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 配置 中心 服务 监控 服务 告警 认证 鉴权 统计 概览 知识 库 服务 告警 监控 大屏 账户 审计 注册,发现,调用都提供鉴权 认证鉴权 接口文档统一维护 文档与运行时一致 减少调用沟通成本 知识库 根据平台、租户、项目三个层次区分权限作用域 操作记录,审计日志,事件查询 账户审计 微服务框架负责服务之间的调用——企业级特性0 码力 | 39 页 | 3.06 MB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化大多政务服务APP功能单一,仍以政务信息发布为主,缺乏实用的网上办事和便民服务。 仅有15%的政务APP提供办事服务,存在“信息有余、服务不足”的问题。 2、下载APP成为负担 政务APP盲目开发泛滥,用户为了办事需要下载多个APP,成为一种负担。 3、优化不足体验差 政务APP接入政务服务,没有结合移动端的访问特性进行移动化改造,用户体验差。 4、缺少持续运营: 政务APP运营维护乏力,版本迭代缓慢,存在大量僵尸应用。 无需注册直接登录,提供活体检测、人脸核身 需要注册,使用密码和手机盾认证 推广传播 下载成本低、通过微信裂变传播 下载成本高、推广难、占流量、占内存 开发成本 只需开发一套,组件丰富 每个端都得开发,标准化组件少 版本更新 无感知,轻量级更新 更新麻烦,审核周期长 服务触达 利用微信载体,消息通知更简单 APP消息,打扰多,用户遗漏概率大 拓展性 程序包小,可以关联调转 无大小限制,调转较难 智能化服务能力 面更具优势。 6、探索需求 -- 分析可行性,选取合适的需求场景 什么需求适合进入第1版本? 1.服务对接方式:提供API接口,而非H5页面 2.认证方式:基于后台API方式,而非要求用户再次输入 3.服务类型:属于查询、办理类,而非资讯信息、办事指南 4.服务具有便民、高频特征 帅选出第1版本要接入的百项高频便民事项 典型需求梳理场景 - 残疾人服务事项分析 7、产品设计—淬取政务服务信息要素、以用户为中心的展示0 码力 | 35 页 | 15.60 MB | 1 年前3
领域驱动设计&中台/演进式架构的平台化落地演进接⼝口 (forward compatible) Production 微服务研发平台落地 落地优秀实践,守护架构,降低微服务 研发学习成本 企业研发⼯工具链⽣生态 敏敏捷协作平台 部署发布 平台 持续交付流⽔水线平台 ⾃自动测试 平台 微服务系统设计,研发与运维管理理 微服务 /API设 计 代码 ⽣生成 契约 服务 架构 演进 微服务 运维治 理理 部署架构设计 测试环境 部署架构设计 绘制部署架构,组合服务和 部署元素 部署架构变更更历史 推荐部署架构(远期规划) 微服务开发框架定制 代码架构⻛风格选择 资源配置 数据库版本管理理 是否⾃自动⽣生成API/ Dockerfile/流⽔水线 ⽣生成 代码 到GIT 仓库 架构分析- 从契约反向识别实现与模型差异 架构分析- 架构Fitness Function检查 配置Sonar地址、展⽰示分析结果 数据结构分析- 测试环境的反向⼯工程可视化 数据结构分析- ⽣生产环境脚本导入可视化 领域模型- 基于代码守护的反向可视化 运⾏行行时部署架构可 视化 数据库 状态/版本显⽰示 创建系统 组建团队 我的系统 列列表 团队⼈人员⾓角⾊色 权限维护 外部系统维护 架构约束定 义维护 部署元素维护 代码引入ArchUnit/ log格式入⼿手 框架管理理0 码力 | 42 页 | 2.95 MB | 1 年前3
全球架构师峰会2019北京/量子计算/量子计算及其潜在应用&mdash出大数因式分解算 法 1935年:爱因斯坦等提出【EPR 佯谬】 2011年:D- Wave公司研制出 第一款商用量子 退火机 2017年1月: D-Wave推 出2000Q 2018年4月: Google发布72量子比特 超导计算机芯片 Bristlecone 2016年:IBM研制出5 量子比特的超导量子计 算机 2019年10月: Google 在Nature 发文,演示量子优 势 量子力学建立 Computing Hadamard | Qubit 〉 华为量子计算云服务HiQ 1.0 HiQ云服务平台 基于华为云强大计算存储基础设施 HiQ云服务网页 2018年华为全联结大会首次发布 华为HiQ 2.0重点布局量子化学+量子调控:助力“专用”量子计算机研发 专用 vs 通用 “专用”量子计算机 “通用”量子计算机 主要应用 量子系统仿真 量子化学 组合优化 机器学习 大数分解 较于HiQ 1.0 性能提升8X以上 新增高性能多振幅模拟器, 性能全面领先 全新设计IDE界面 上线BlockUI编程模式 让量子编程更简单 联合业界打造最强量子平台 托管HiQ源码和技术文档到开 源平台 https://github.com/Huawei- HiQ/HiQsimulator 华为模拟器HiQ Simulator 华为编程框架HiQ Framework 华为开源HiQ0 码力 | 34 页 | 5.57 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样, 结果,一系列的灵异状况发生了… 4. 依赖的远程服务逻辑发生变化了,但负责它的团队没有通知到 我,结果上线后直接导致生产事故。 5. 我和其他团队共用一套分布式缓存服务,为了防止数据覆盖, 远程服务 Mock配置 开关/策略… 路由 策略 … Mock过滤器 启 动 加 载 服务 调用 脚本引擎 Mock数据规范 格式规范: 1.静态匹配 2.动态匹配 3.多版本支持(服务版本) 管理规范: 1.服务谁提供,就由谁负责相应Mock数据的 制作。 2.mock数据可被使用者二次修改或替换。 3.mock数据独立工程管理。 静态匹配(json) 动态匹配(脚本) 应用服务综合mock能力 在实际应用场景中,应用所依赖的服务往往很分散: 一部分依赖服务从本机的Runtime环境即可获取, 一部分需要从协同团队的远程开发机上临时获取(联调模式), 一部分服务可能还未完成开发并发布,需要通过mock机制进行模拟。 我们需要综合利用前面所介绍的各种调测机制来保障日常开发中对应用服务的正常调测: 服务调用 本地服 务? 调用本地服务 是 是否直 连? 否 RPC远程直连0 码力 | 19 页 | 2.74 MB | 1 年前3
唯品会调度系统的前世今生灵活的运维配置与部署 • 高效资源利用 • 简便的管理 人工指定 自动平衡 资源平衡调度算法 框架代码 与业务代 码隔离 集中化动 态增加与 删除作业 • 简化开发,避免冲突,业务无侵入 • 易于发布与维护 • 框架升级与业务脱离 框架与业务隔离 Shell作业 Java/消息作业 Saturn Executor PHP脚本 Python脚本 System.exec 作业进程 作业进程 Marathon+Mesos 容器调度 启动 Registry Pull镜像 资源释放 资源绑定 资源伸缩 容器化架构 我们的经典例子 图片扫描(侵权),格式/大小转换 女大须嫁 弹性调度系统开源版本 开源的目的 利用社区的力量,提升 产品的稳定性、可靠性, 进而降低产品的开发、 维护等成本 减少维护成本 增强公司在技术领域的 品牌影响力,吸引更优 秀人才加入 提升技术品牌 目前已经开源的类似功 Source VIP Central Maven Repo 推送独立开源版本 开源版本直接依赖 开源情况 2016年12月,我们己开源! https://github.com/vipshop/Saturn 90+ 400+ 310+ Star 安装 Issue 我们在Github上等你!! 瓜熟蒂落 基于开源版本打造自己的系统 ZK 执行结点 Job A Job B 作业调度器0 码力 | 58 页 | 5.40 MB | 1 年前3
分布式异地多活架构实践之路多主模式 (多点读写) 分布式日志收集等 写多读少 汇聚模式 (多点写,单点读) 内容统计指标获取、内容榜单等 读写均衡 混合模式 (多点写,单点读, 单点写,多点读) 非核心业务 老版本兼容服务、运营活动、配置、管 理平台、官网、论坛等 N/A 本地模式 (单点读写) 设计思路 核心业务异地多活 精准流量调度 数据同步 多元化 最终一致性 依赖关系优化 配套系统支撑 Web Web 专线/公网 容量合理规划 客户端 北京 50% 合肥 50% 广州 50% 1 1 2 冗余机器与其他系统复用,弹性伸缩 配套系统支撑 测试场景覆盖 灰度发布上线 机房流量调度 监控覆盖 故障模拟演练 数据恢复 配置平台 服务化平台 日常运维 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战 • 讯飞输入法解决方案 • 实际应用效果0 码力 | 36 页 | 1.66 MB | 1 年前3
领域驱动设计&中台/如何让DDD落地如何把需求拆解成⽤用户故事,然后如何把⽤用户故事转变成领 域故事,最后领域故事⼜又如何变成为代码。 02 从需求到代码 京⻄西商城的需求 ‣ 产品运营⼈人员可以添加新的商品,编辑产品库存,并发布到京⻄西商城,⽤用户 可以进⾏行行购买; ‣ 京⻄西商城的买家可以查看产品可购买的库存数量量,并⽣生成购买订单,买家可 以撤单,查看订单的状态,对订单进⾏行行⽀支付(⽀支付宝)。⽀支付成功后,仓储 如果商品库存不不⽀支持订单数量量,返回出错结果和原因给订单API适配器器 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者, 5.商品库存订阅者收到事件以后会根据事件中的商品ID和订单数量量创建锁定商品库存 命令,然后给锁定商品库存服务进⾏行行库存锁定 命令,然后给锁定商品库存服务进⾏行行库存锁定 6.锁定商品库存服务收到命令后,会把根据命令中的商品ID从商品库存仓库中获取商 品库存,然后根据让商品库存锁定订单数量量,之后调⽤用商品库存仓库进⾏行行保存,最后 让事件发布器器发布商品库存已锁定事件 ……. 领域故事中的主要对象 领域对象 类型 命名 订单API控制器器 Adapter OrderController 创建订单命令 Command CreateOrderCommand0 码力 | 32 页 | 3.25 MB | 1 年前3
领域驱动设计&中台/可视化的遗留系统微服务改造仓库库存 已占⽤用 商品 已创建 订单 已撤销 商城库存 已增加 出库单已 ⽣生成 出库单已 发货 投诉单 已创建 投诉单已 处理理 商城库存 已编辑 商品 已发布 商品销售 价格已编辑 订单 已发货 补货申请 单已创建 补货申请 单已审批 ⼊入库单 已创建 ⼊入库单 已⼊入库 订单 已签收 订单已 确认收货 仓库库存 已扣减 仓库库存 已占⽤用 商品 已创建 订单 已撤销 商城库存 已增加 出库单已 ⽣生成 出库单已 发货 投诉单 已创建 投诉单已 处理理 商城库存 已编辑 商品 已发布 商品销售 价格已编辑 订单 已发货 补货申请 单已创建 补货申请 单已审批 ⼊入库单 已创建 ⼊入库单 已⼊入库 订单 已签收 订单已 确认收货 仓库库存 已扣减 已创建 ⼊入库单 已⼊入库 仓库库存 已增加 添加 商品 ⽀支付宝 回调 超过1⼩小时 未⽀支付 ⏱ 编辑 商品 产品运 营⼈人员 编辑库存 编辑销售 价格 发布商品 创建订单 扣减库存 创建 出库单 占⽤用库存 发货 扣减库存 发货 收货 撤销订单 增加库存 创建 退货单 审核 退货单 创建 ⼊入库单 ⼊入库 增加库存 买家 系统 系统 系统0 码力 | 54 页 | 3.85 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进Facade模式 解决: 接口不规范,多套接口 外部接口深入到上游的业务逻辑 限界上下文解耦-发布订阅机制 钢筋模型 上下文 建模模型 上下文 调度中心 平法模型 上下文 发布 解决: 上游模型变化,下游模型联动 发布-订阅机制 架构演进 1 2 3 领域拆分 架构分层 构建领域模型 架构分层 持久化层 领域层 CAD图纸管理 DDD在研发中落地 统一语言 需求实例化 持续集成 接口测试 DDD落地与研发融合 架构演进驱动产品与研发 • 降低了整体业务的耦合,各业务独立演化; • 简化了集成关系,降低了集成成本,实现各业务的独立发布; • 驱动组织按领域边界拆分了7~9个特性团队,实现并行研发; 限界上下文的拆分 + 领域模型+ 接口设计/测试 • 支撑产品转型,快速实现业务服务化; • 提升业务逻辑的可复用性,新业务快速扩展0 码力 | 33 页 | 1.25 MB | 1 年前3
共 19 条
- 1
- 2













