1_丁来强_开源AIOps数据中台搭建与Python的作用38a68e6f/p1_2.jpg) ## 开源AIOps数据中台搭建与 Python的作用 丁来强 ## 关于我 • 工作10+年,熟悉大数据分析、ITOps、SecOps等领域 ·阿里云日志服务上海负责人,之前在Splunk上海 • 自从2015年,在4届PyCon上,累计分享7+不同议题 • 云栖大会或社区累计分享13+个大数据系统或Python相关议题   ## 1 关于 AIOps 各种Ops平台 各种Ops平台 根据Gartner的报告,AIOps将在未来5-10年落地开花,并集中统一 ## I T运维的目标/KPI ## MTTR COST 100% ## I T运维的挑战 · 复杂度越来越高: • 架构演变:SaaS、多云、容器、微服务等 · 数据孤岛越来越多:大数据的3V(容量、变化、种类) · 成本越来越高: ·业务中断成本 · 缺少持续改进(运维人员大部分时间忙于救火)0 码力 | 48 页 | 17.54 MB | 2 年前3
领域驱动设计&中台/Every Entity as A Microserviceents/3/b/4/a/3b4aeb3731b8dc9165682e6e82dca5a0/p72_1.jpg) end 当控制权明确交出去的时候有明确的责权协议 调用方感觉“一切尽在掌控置中” Task A 和 Task B 互相让渡控制权,共同完成一个流程 当 Task B 干的事情很“基础”很“通用”,我们称 Task B 为 Scheduler  $ 账户 计费 ## 领域事件 事务边界 ACID 结束 ACID 开始 事务边界 ACID 结束 BASE事务管理 ACID的回滚应该尽可能独立,它可以在每次失败以后重试,而不是轻易导致BASE事务中的前一个ACID事务的级联回滚。 ## 仓储的坑 ## 延迟加载聚合成员 理由:聚合太大,所以需要延迟加载 后果:可能在循环中进行加载,导致 $ n+1 $ 次select问题 解决:在聚合执行前完成聚合的填充。0 码力 | 28 页 | 2.09 MB | 2 年前3
领域驱动设计&中台/架构分层模型适配访问外界系统(调用外界系统)的技术相关实现。 干系人: 外界系统 诉求: 稳定调用外部系统 技术点: 使用和适配外部系统模型,隔离和快速诊断错误 工作内容: - 学习和使用外部系统,如数据库,邮件系统 - 适配外部系统模型,如SQL映射到模型对象 模型内容: • PO • 第三方Protobuffer • 第三方SDK 腐化案例: 业务逻辑和外部调用逻辑混合 如一个方法里即处理业务逻辑又调用SQL Communications ## 如何有效防止架构腐化 分层模型适配 架构腐化是系统开发过程中非常头疼的事情。使用DDD分层架构参考实践,可以在系统初始设计的时候领域明确出来。 但问题是开发过程中不知不觉层次模糊,架构师有没有实践能有效阻止架构腐化? ## 如何从一盘散沙到百万雄师  ## 分层模型适配实例 用户账户注册和激活 架构治理中的踢正步 ## 案例-用户注册和激活 0 码力 | 39 页 | 2.54 MB | 2 年前3
领域驱动设计&中台/如何让DDD落地colspan="3">【描述正常的、一般情况下的动作系列】分支过程 【从主干过程中由判断点分支出来的动作系列,通过动作的标号(类似于有层次的目录)与主干过程中的动作对应】 异常 【描述主干过程、分支过程中出现异常时的动作系列】 包含 特别需求 【如:对于性能方面有何要求】 假设 【用例中我们做了哪些假设】 ![Image] 作为一个商城顾客 我可以确定购物车中的商品和数量,然后提交商品订单 为了在商城上购买商品 Acceptance Criteria 1 - Given:导航【购物车】 - When:确定购物车中要提交的商品和数量,然后点击提交; - Then:订单成功提交,从商品库存中锁定订单的数量,提示气泡“商品已保存成功” - And when:如果订单的数量超过商品库存中可以锁定的数量 - Then注意和问题 【还有哪些未确定事项】 0 码力 | 32 页 | 3.25 MB | 2 年前3
Greenplum开源MPP数据库介绍分布式事务和执行 Greenplum存储 Greenplum生态 Greenplum 7 Greenplum简介:什么是Greenplum? 基于PostgreSQL、开源、分布式MPP、ACID完备、为OLAP优化的关系型数据仓库。 https://greenplum.org https://github.com/greenplum-db/gpdb  Federal PB级的数据,单台主机无法处理 ☐ 所以数据分布在多个主机上 ☐ 高效、灵活的数据分布,和实际业务相关 ## Parallel: ☐ 数据并行处理计算 ☐ 通过网络进行数据交换和汇总 ## 执行架构 ## ➤ Coordinator: ☐ 管理其它节点 ☐ 生成分布式计划 ☐ 下发计划和汇总结果 ☐ 管理分布式事务 ## > Segments: ☐ 存储数据,share-nothing0 码力 | 23 页 | 4.55 MB | 2 年前3
领域驱动设计&中台/DDD的为与不为原则 弱约束 最佳实践 编码强相关 面向对象进阶 数据驱动之反面 优先处理业务逻辑 不是架构师专属标榜 对软件匠艺的执着追求 套路化之后的有条理的多 关于软件结构的新思维方式 分离技术复杂度和业务复杂度 ## 我眼中的DDD 道 原则 弱约束 最佳实践 编码强相关 面向对象进阶 数据驱动之反面 优先处理业务逻辑 不是架构师专属标榜 如何做战略设计? 高大上 VS 朴素 ## 限界上下文的形态 进程 软件包(jar) 命名空间 ## 理想的战术设施 应用服务 企业对外服务 聚合根 算法 核心业务 资源库 数据 IT资产 ## 无法避免的贫血模型 0 码力 | 25 页 | 931.68 KB | 2 年前3
领域驱动设计&中台/DDD在旅游电商架构演进中的实践## DDD在旅游电商架构演进中的实践 徐泼 DDCHINA ## CONTENTS 01 领域驱动设计概述 02 DDD战略模式在旅游电商架构演进的应用 03 领域驱动结合架构设计模式和原则 ## 领域驱动设计概述  ## 领域驱动设计和架构 7d1/p5_1.jpg) ## 数据驱动 VS 领域驱动 数据驱动设计  领域驱动设计 注:这里的数据驱动主要指以数据以及数据关系为核心的系统建模方法 ## 数据驱动 VS 领域驱动 - 数据分析  ## 数据驱动 VS 领域驱动 - 设计结果 ## 数据驱动设计结果 合同管理服务 应用层 服务层 | |场景|对性能要求不高的;网络环境不灵活的|大多数场景|对性能 方案 - Networking (2) Underlay: MacVLAN / IpVLAN ■ 性能好;MacVlan独立MAC地址,IpVlan共享MAC地址 ■ IpVlan 在 IaaS 中更灵活,如:VMWare 无需混杂模式,及解除 VM 的 MAC 限制 ■ IpVlan 可以节省Mac地址资源,降低 L2 的压力 或 switch 的 Port Security ## 方案 -0 码力 | 19 页 | 1.86 MB | 2 年前3
领域驱动设计&中台/领域建模的易与难[Image](/uploads/documents/4/e/a/7/4ea7752a073a25b12aa64e592731c65b/p5_1.jpg) 解决方案空间(实现)对象:属性和行为的集合 “我认为软件开发中困难的部分是规格说明,设计和测试这些概念上的结构,而不是对概念进行表达和对实现逼真程度进行验证。” 《人月神话》 ## 概念化及其难点-1 












