联想-贺钢架构工作在国际化项目中的应用实例
架构工作在国际化项目中 的应用实例 贺钢 2016-12-17 个人简介 • 深信服科技 • 腾讯 • 联想深圳中国开发实验室 前言 • 国际化项目的一些不同点导致架构工作的一些不同 • 应用实例体现这些不同点 广告 • 联想电脑管家(PC): guanjia.lenovo.com.cn 国际化项目的一些不同点 • 目标客户不同: 文化习俗, 客户需求, 用户体验… title”:”meeting notes”,”Sent time”:”2014-01-08”,”Sent to”:”Herman, Jack, Tom”} 对架构设计的影响III – 非技术性的相关工作 • 沟通 通常项目的组织形式 国际化项目开发阶段 沟通个人经验 • 用于沟通的时间 > 50% • 承认对方和自己一样聪明 对架构设计的影响IV – 登录设计 • 功能: 用户名密码登录 端到端的安全设计III 端到端的安全设计IV 端到端的安全设计 • 只Admin可以写(避免提升权限) • 验证配置文件(如xml)的签名 • 专业工具扫描 总结 • 国际化项目的特点导致架构工作的不同 • 一些应用实例 一句话分享 • 不要用战术上的勤奋来弥补战略上的懒惰0 码力 | 53 页 | 2.36 MB | 1 年前3领域驱动设计&中台/可视化的遗留系统微服务改造
组件图 已可视化 ⽤用户画像和旅程系统功能⽤用户可视化 ⽤用户画像 ⽤用户旅程 已可视化 突出⽤用户信息,诉求和价值体现 还原业务场景 可视化的划分遗留留系统 领域驱动设计、事件⻛风暴暴⼯工作坊、服务画布 好的设计 低耦合 如果做到了了服务之间的松耦 合,那么修改⼀一个服务就不不 需要修改另⼀一个服务。⼀一个 松耦合的服务应该尽可能少 地知道与之协作的那些服务 的信息。 ⾼高内聚 围 绕业务概念构建领域模型来控制业务的复 杂性,以解决软件难以理理解,难以演化等 问题。团队应⽤用它可以成功地开发复杂业 务软件系统,使系统在增⼤大时仍然保持敏敏 捷。 事件⻛风暴暴⼯工作坊 - Event Storming是⼀一种领域建模的实践,是⼀一种快速 探索复杂业务领域的⽅方法: - 最初由Alberto Brandolini 开发,经过DDD社区和 TW的很多团队实践验证后,于2015年年11⽉月进⼊入 客户订单已提交 例例2: 对账已完成,每⽉月末夜间触发 1. 确定要进⾏行行事件⻛风暴暴的业务场景,场景需要单 ⼀一⽽而且清晰; 2. ⽤用“XXX已XXX”的格式在橙⾊色便便利利贴上写下事 件,⼯工作坊参与者需要对事件定义达成⼀一致; 3. 根据时间顺序把事件便便利利贴贴到⽩白板上; 4. 如果⼀一个事件有同步发⽣生的其它事件,把其它 事件放在事件下⽅方; 5. 如果发现了了业务中的问题点,⽤用红⾊色便便利利贴记0 码力 | 54 页 | 3.85 MB | 1 年前3领域驱动设计&中台/架构分层模型适配
分布式等 前端应⽤用 应⽤用服务 业务领域 基础设施 ⼲干系⼈人: 应⽤用开发⼈人员 诉求: 灵活易易使⽤用的API 技术点: 性能,事务,分布式,安全等⾮非功能性需求 API服务 ⼯工作内容: • 接收外部请求并响应: 如HTTP请求, 消息处理理 • 事务管理理 • 认证 • 缓存 • ⽇日志 • 异常处理理 • 配置 • Session 技术⼈人员关注的层 领域模型和领域逻辑,关注业务概念。 前端应⽤用 API服务 领域模型 基础设施 ⼲干系⼈人: 业务领域专家,业务领导 诉求: 表现业务概念和实现业务价值 要点: 业务建模和复杂性管理理 ⼯工作内容: • 建⽴立业务模型,并体现在代码上 • 管理理模型复杂度,适度拆分模块 • 实现业务逻辑 业务⼈人员关注的层 业务领域 腐化案例例: 亏空 ⼤大量量技术术语业务⼈人员完全看不不懂 访问外界系统(调⽤用外界系统)的技术相关实现。 前端应⽤用 API服务 业务领域 基础设施 ⼲干系⼈人: 外界系统 诉求: 稳定调⽤用外部系统 技术点: 使⽤用和适配外部系统模型,隔离和快速诊断错误 ⼯工作内容: • 学习和使⽤用外部系统,如数据库,邮件系统 • 适配外部系统模型,如SQL映射到模型对象 技术⼈人员关注的层 基础设施 腐化案例例: 业务逻辑和外部调⽤用逻辑混合 如0 码力 | 39 页 | 2.54 MB | 1 年前3QCon北京2018-《美团配送系统架构演进实践》-阴永俊
骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 容灾 容灾 API管理 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 骑手网关 规模化阶段:核心领域细分 主数据平台 (核心模型) 账号权限 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 容灾 容灾 API管理 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 履约系统 • 如何解耦用户侧与骑手侧 • 调度系统如何设计 • 如何实现算法与工程结合 骑手运营 (人) 任务 活动 等级 结算平台 (钱) 清算 结算 对账 接单网关 标准API 补发 监控 补发 标准API APP运维 多链路 安全框架 管理工作台 HRM 移动办公 招募 IM 物料 薪资 培训 成长 快速起量,系统质量、研发效率问题凸显 合同 运营系统 • 需求长期多而杂,运营系统到底应该管什么 • 科学设定目标并达成的能力0 码力 | 31 页 | 15.26 MB | 1 年前3大规模分布式系统架构下调测能力构建之道
头到尾梳理代码,再写一堆的mock语句把他们全mock掉了。 每当业务逻辑变化了,代码中要增减相应的mock语句;每当依 赖服务上线后,要把测试用例中对应的mock语句去掉。对测试 用例的修改工作贯穿于整个开发工作之中。 3. 我和某同事通过服务框架进行调用联调,结果另一同事也把同 名服务挂了上来,不幸的是,他的服务版本和我们的不一样, 结果,一系列的灵异状况发生了… 4. 依赖的远程服务逻辑发生变化了,但负责它的团队没有通知到 动态匹配(脚本) 在线抓取Mock数据 手工编写应用服务的mock数据往往工作量巨大,尤其是对一些数据驱动的业务,比如电信营业厅的套餐开户、基金业 务中的基金购买等,手工制作这些mock数据费时费力。通过对线上(一般是测试环境)实际服务调用的真实数据的抓 取来制作mock数据能非常有效的降低Mock数据制作的工作量,同时还能提升Mock数据的质量。 1.定制现网数据抓取过滤器 2.定制抓取时间段0 码力 | 19 页 | 2.74 MB | 1 年前3分布式 KV 存储系统 Cellar 演进之路
最多两次 • 重试比例 最大20% 读请求超时降低90+% 客户端 req6 req5 req9 req9 req8 reply Cellar—快慢队列 网络 线程 工作队列 工作 线程 问题: 共用队列&线程 线上慢请求:超时请求 1: 20 Cellar—快慢队列 网络 线程 读快队列 读快 线程 TP999延迟降低86% 读慢队列 写快队列 写慢队列0 码力 | 34 页 | 1.66 MB | 1 年前3刘道平-从0到1,移动政务应用小程序系统架构演化
从0到1,移动政务服务小程序系统架构演化 Dolphin 刘道平 数字广东/粤省事产品中心 系统架构师 Dolphin 刘道平 • 毕业于华南理工大学 软件工程硕士 • 2001年开始从事软件研发工作,参与过税务、电信、银行、 基金、海关等多个行业大型业务系统的研发 • 有高级程序员、PMP、ScrumMaster证书 • TGO广州会员 简介 一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目 2、国家行政学院省级政务网上政务服务 能力调查评估报告(2017、2018) 3、发文 《国办函【2016】108号 “互联网+政务服务”技 术体系建设指南》 《国发【2016】55号-国务院关于加快推进 互联网 政务服务 工作的指导意见》 欢迎交流0 码力 | 35 页 | 15.60 MB | 1 年前3声明式自愈系统——高可用分布式系统的设计之道-王昕
配置模块对象只 需要包括 Desired State 每个领域的控 制器模块的逻 辑保证自己领 域独立自愈的 能力 改变状态的操作 必须是幂等的声 明式操作,没有 新声明时各模块 按照之前的声明 继续工作 控制器模块对象 包括Desired State 和 Realized State 声明式自愈系统的控制器协调循环 Observe Analyze Action u 观察当前的Realized Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 Ø 高可用系统的最佳实践总结 最佳实践分享 有关 TLA+ 的使用 Ø 分布式系统设计 80% 的重点工作在与设计安全性原则 Ø 目前 TLA+ 工具已经有云服务上线,但只支持检查安全性 Ø 单机版的 TLA+ 工具支持系统活性的检查,但是性能比较差 Ø 活性检查的性能瓶颈在于系统状态图中强连通图算法的实现0 码力 | 44 页 | 2.47 MB | 1 年前3陈辉-架构师的业务思维
多端适配和开发组件 组件池 怎么去实践 走到业务一线去 找对评判标准-比如客户价值 权衡技术和业务 看远一点,做实际点 再来个case 样衣管理系统 产品 架构师 运营 架构师的工作职责 打造一个稍稍跑在业务前面的架构 架构先行 补充一点~ 站在业务方的视角,在理解业务发展目标、看清业务发展方向的前提下,做出技术和业务的平衡 跳出技术思维 理解清楚当前需求 具有业务前瞻性0 码力 | 32 页 | 3.18 MB | 1 年前3海量用户推送后台系统架构实践-曾振波
• 服务安全 • 安全校验,异常行为识别,过载保护,白名单/黑名单,服务降级 • 监控及告警 • 多维度监控,告警系统 极光推送后台系统架构 08 K8S部署业务 • 原有系统的运维工作繁杂,资源利用率低 • 弹性扩容 • 配置统一管理 • 内外集群隔离 • Pod包含多个容器 - 辅助容器,业务容器 • 业务模块代码架构调整 • 监控体系调整 极光推送后台系统架构0 码力 | 23 页 | 1.26 MB | 1 年前3
共 16 条
- 1
- 2