苏宁易购小程序架构实践 苏宁 禹立彬面向活动玩法类 • 小游戏 • 微信官方提供 • 降级到Webview 百度小程序转换器 • 基于百度官方的wx2swan • 将同等逻辑的微信小程序页面转换为百度 • 无法精确匹配每一个组件 • 少量修改,减少工作量 易购系APP转换器 • 将小程序代码转换为基于ReactNative框架的易购版小程序 • 降低易购APP大小 • 减少开发成本 • 使用ReactNative同步实现微信小程 序组件 • 100+ API • 30+ Components 同步组件 • data转换为state • 样式重新解析 • Element转换 Babel转换代码 异常监控 • 业务异常监控 - 自研 • 系统异常监控 - 微信官方后台 运营埋点 • PV UV • 访问链路 •0 码力 | 36 页 | 833.39 KB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进限界上下文拆分 • 业务用例 • 功能\语义相关性 • 技术应用 • 团队规模 建模子域 构件模型上下 文 模型编辑上下 文 计算子域 报表子域 模型转换子域 做法子域 通用子域 汇总上下文 指标管理上 下文 三维模型转换 上下文 CAD翻模上下 文 模型检查上下 文 平法模型上下 文 截面钢筋模型 上下文 土建计算上下 文 钢筋计算上下 文 土建计算设置 土建计算设置 上下文 钢筋计算设置 上下文 做法上下文 登录与授权 上下文 指标定制上 下文 限界上下文协作关系 报表子域 模型转换子域 CAD翻模上下 文 三维模型转换 上下文 D D ACL/C ACL/C 建模子域 模型编辑上下 文 构件模型上下 文 D U U U D S C 平法模型上下 文 截面钢筋模型 上下文 D D 图元绘制 显示层 应用层 CAD识别 BIM模型转换 模型编辑 批量操作 CAD模型 BIM模型 模型数据库 gcad文件 gfc文件 数据库 算量模型持久化 CAD模型持久化 BIM模型持久化 …... 构件模型 …... …... …... …... …... …... 平法模型 钢筋模型 模型转换 案例1:CAD翻模领域拆分及分层设计 • 隔离功能交互与业务逻辑0 码力 | 33 页 | 1.25 MB | 1 年前3
领域驱动设计&中台/如何让DDD落地建订单命令进⾏行行订单 创建,创建成功后返回成功结果给订单API控制器器 如果商品库存不不⽀支持订单数量量,返回出错结果和原因给订单API适配器器 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 保存,保存成功后会让事件发布器器发布订单已创建事件 4.事件发布器器会根据事件类型把订单已创建事件转发给商品库存订阅者, 5.商品库存订阅者收到事件以后会根据 创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行保 存,保存成功后会让事件发布器器发布订单已创建事件 软件中最痛苦的就是需求经常发⽣生变化,这也是DDD想要解 决的问题之⼀一, 03 当需求发⽣生变化时 为什什么需求会变化? 需求提出者不不⼀一定想好了了 需求提出者的问题变化了了 沟通过程信息丢失 需要增加⼀一些业务逻辑时 3.创建订单服务收到命令后,会把创建订单命令转换成订单,然后调⽤用订单仓库进⾏行行 5…. 6…. 7.订单⽇日志订阅者收到订单已创建事件后,会根据事件创建添加订单⽇日志命令,然后 调⽤用添加订单⽇日志服务来进⾏行行添加 8.添加订单⽇日志服务收到命令后,会把添加订单⽇日志命令转换成订单⽇日志,然后调⽤用 订单⽇日志仓库保存订单⽇日志 Acceptance Criteria 1 - Given:导航【购物⻋车】 - When:确定购物⻋车中要提交的商品和数量量,然后点击提交;0 码力 | 32 页 | 3.25 MB | 1 年前3
美团点评旅游推荐系统的演进•基于用户搜索行为 •基于搜索后浏览POI行为构造矩阵,计算 POI相似度 •User CF •loglikelihood ratio 基于用户画像的推荐 •基础属性 •性别、年龄、职业 •人群属性 •有车:汽车保养 •宅男:外卖 •情侣:电影 •亲子:儿童乐园 •旅游达人:酒店旅游交通 •推荐 •基于用户标签计算POI标签 •精确匹配:给亲子类用户推荐亲子类POI 用户标签偏好*标签权重*POI标签偏好*POI销量 召回策略演进过程 基于L2R的排序策略优化 机器学习流程 问题建模 推荐 推荐 访消率 •访购率为目标 •只看点击率没有反映出交易属性 •看最终收入 •消费受购买限制、退款条件等影响 •收入跟BD谈单毛利相关 •Pointwise L2R •Pairwise性能问题 •NN做rank? Model h q1 d1 •多模型融合 •GBDT模型+FFM模型 问题建模 •FFM •矩阵分解+回归 •Low Level特征多 •情景推荐 •发现特征关联关系 •用户画像 •上下文 •POI ID&属性 滑雪 age<25 User 25-40 age>40 … 温泉 POI 数据标注 特征工程 特征工程 •特征预处理 •missing value:不需要处理 •position 0 码力 | 49 页 | 5.97 MB | 1 年前3
领域驱动设计&中台/用状态机封装领域逻辑条件语句?泛化?不重要了 作用 帮助定义恰当的责任 专家原则、可视原则 减少get/set 接口变简单 要素 状态 行为由组合决定 复杂就在这里! 状态--表现相同行为的属性值和链接的组合 状态 状态机图 vs. 活动图 顶点和边的含义相反 不同的思考范型 “状态的类”要说得通! 状态 网络上随便搜来 的“状态机图” 状态 子状态 互斥 状态 分层复用行为 不是“流程开始”的意思 进入状态时,缺省的子状态 对象掉入集合时,缺省掉入哪 个子集合 历史:记住离开时的子状态 状态 并发状态 不同分区的状态并存 从不同维度 分割属性值组合 高富帅 矮穷丑 高穷丑 矮富帅 测试 答对问题有奖金 金额从2.56元到20.48元 请扫我微信以便当场转账 加微信时烦告知尊姓大名 状态 入口动作和出口动作 entry:进入时必须执行 核心类 状态多事物(彩色建模)实体责任起点聚合的根 图形界面 质量要求很高的系统,每个类 建模 要点 从类名思考修饰词(形容词) 从行为思考状态变化 从状态属性思考状态名称 优先用原生形容词,防止换汤不换药 有进有出 警戒条件之和必须是完备集(“其他”)且不重叠 吃饱了没?吃饱好干活 建模 打车领域 建模 实现 Rhapsody0 码力 | 30 页 | 1.75 MB | 1 年前3
声明式自愈系统——高可用分布式系统的设计之道-王昕TLA+是一种适合定义状态机的语言 定义一个状态机需要: 1. 定义所有可能的初始状态 2. 定义在特定状态下可能有哪些状态转换 一个程序可以用状态机描述 定义一个状态机需要: 1. 定义变量 2. 定义所有可能的初始状态 3. 定义在特定状态下可能有哪些状 态转换 计算 100/x 的程序: x = 100 / x; TLA+的应用场景——验证系统设计的正确性 TLA+工具会遍历所有可能的状态验证系统的正确性0 码力 | 44 页 | 2.47 MB | 1 年前3
联想-贺钢架构工作在国际化项目中的应用实例2014-05-04 … 2 … 1 Test.txt 2849 2014-02-19 … 3 … 1 Show.ppt 138238 2014-08-09 … 碰到的问题 • 各类文档,程序的属性差别很大 • 采用的敏捷Scrum,任务随Sprint迭代 • 开发测试人员属于不同地域的不同部门,向不同的人汇报 后来使用的方案 ID ... Type … Content 1 … 1 {“File0 码力 | 53 页 | 2.36 MB | 1 年前3
领域驱动设计&中台/淘宝应用架构升级——反应式架构的探索与实践repeat /interval / timer 过滤 filter / take / skip / distinct sample / debounce / throttle 转换 map / buffer / window / scan / flatMap / groupBy 组合 merge / concat / startWith / zip / switch*0 码力 | 27 页 | 1.13 MB | 1 年前3
QCon北京2018-《美团配送系统架构演进实践》-阴永俊多服务共享DB v2.0 • 服务化 • 原语层+应用层 v3.0 • 借鉴CQRS + MDM思想 • 生产与应用独立建模 快速起量,系统质量、研发效率问题凸显 履约侧应用 • 屏蔽人员、组织属性细节,高可用性保证 规模化阶段:解耦履约系统与运营系统 v1.0 • 开放式 • 多服务共享DB v2.0 • 服务化 • 原语层+应用层 v3.0 • 借鉴CQRS + MDM思想0 码力 | 31 页 | 15.26 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践企业理财 企业报销 资金划拨 供应链 … 其他 贷款 理财 供应链 征信 … 数据分析 … 运营后台 用户系统 商户后台 官网 企业网银 个人网银 解决方案 实时监控 业务属性 BUSINESS ATTRIBUTES 实时性、一致性 安全性、中间账户 聚合的复杂性、第三方依赖性 金融系统 The complexity of aggregation, third-party0 码力 | 35 页 | 6.05 MB | 1 年前3
共 11 条
- 1
- 2













