可发布版-美团点评微服务OCTO-曹继光0 码力 | 35 页 | 14.10 MB | 1 年前3
微服务架构与领域驱动设计 - 王磊能有效指导服务的设计与划分 基于领域驱动设 计,能有效识别 业务模型/业务上 下⽂文。从业务⻆角 度指导服务拆分。 微服务架构与DDD 01 领域驱动设计的核⼼心 02 基于事件⻛风暴暴的DDD实践 03 领域驱动设计的核⼼心 1.建⽴立统⼀一语⾔言 2.建⽴立领域模型 3.识别依赖关系 4.细分界限上下⽂文 将业务架构和系统架构对应起来,建⽴立针对业务变化的⾼高响应⼒力力架构 领域驱动设计的理理论基础 Domain • Supporting Domain • Generic Domain Bounded Contexts - 业务上下⽂文 • 定义领域模型的应⽤用范围和其上下⽂文 Context Mapping - 上下⽂文映射 • 负责不不同上下⽂文之间的协作 • Shared Kernel • Anti-Corruption Layer Entity - 实体对象 • ⼀一个对象通过ID被唯⼀一标识 能快速发现界限上下⽂文以及相关的聚合根等 参与⼈人员:业务⼈人员,领域专家,技术⼈人员,架构师,测试⼈人员等关键⻆角⾊色 开放空间:⾜足够的空间将业务事件流可视化,让⼈人们可以互相讨论 彩⾊色即时贴:使⽤用不不同颜⾊色标识 Alberto Brandolini 如何使⽤用Event Storming 业务流梳理理 寻找事件 寻找命令 寻找聚合 划分⼦子域&界限上下⽂文 理理解业务 发⽣生了了什什么?0 码力 | 28 页 | 1.84 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊与⽣生态系统 王磊磊 华为公司技术专家 ThoughtWorks⾸首席咨询师 Sybase Tech Leader • 《微服务架构与实践》作者 • 《DevOps Handbook》中⽂文译者之⼀一 • 国内较早倡导和实践微服务的先⾏行行者 • 对于⾃自动化测试、持续交付、DevOps有丰富的实践经验 • ⻄西安DevOps Meetup 联合发起⼈人 关于我 议题 竞争能⼒力力平衡 • 围绕业务构建 • “去”中⼼心化 • ⾃自动化“⼀一切” • 业务领域模型(Domain) • 通⽤用语⾔言(Ubiquitous language) • 界限上下⽂文(Bundle context) 围绕业务-构建团队 围绕业务-构建团队 VS 服务A 开发 测试 DBA UI/UX 运维 服务B 开发 测试 DBA UI/UX 运维 ⾃自动化“⼀一切” 去“中⼼心化” - ⽤用合适的技术解决问题 数据库作为集成点 去“中⼼心化” - 业务持有数据 ⽤用户会话 Redis 会话服务 上下⽂文 购物⻋车 购物⻋车 产品数据 Mongo 产品服务 上下⽂文 上下⽂文 Redis 去“中⼼心化” - 业务持有数据 去“中⼼心化” - 智能服务⽽而⾮非智能总线 去“中⼼心化” - 智能服务⽽而⾮非智能总线 微服务架构的设计原则0 码力 | 62 页 | 6.65 MB | 1 年前3
2-4-禚娴静-微服务你玩得起吗RESTful API)。每个服务都围绕着具体业务进⾏行构建,并且能够被独⽴立的部署到 ⽣生产环境、类⽣生产环境等。另外,应当尽量避免统⼀一的、集中式的服务管理机 制,对具体的⼀一个服务⽽而⾔言,应根据业务上下⽂文,选择合适的语⾔言、⼯工具对其进 ⾏行构建。 为什么要采⽤用微服务架构? - Rebecca Parsons 让系统尽可能快的响应变化! 初衷 • 服务足够小 • 独立运行 • 轻量级通信机制 • 独立的部署 • 去中心化 • 要多小? • 怎么部署? • 出错怎么办? • 如何保证一致性 玩得起微服务的条件 持续改进的⾃自组织⽂文 快速响 Tall enough 服 务 ⾃自 演 进 2009年 2012年初探微服务 2014年⿊黑暗时代 2015年服务治理 2016年新的征程 背景介绍 业务系统B 快速有效知晓服务运⾏行状态, 服务资源浪费。 回到问题 3.服务拆分 微服务的附加成本 3.服务⾃自演进 2 1 2 3 划分合适的业务边界 进⾏行合适模块化 可测试的 4 拒绝跨上下⽂文的 数据表连接 交付畅通 环境⼿手⼯工维护,频频出错 缺乏有效监控 服务过⼤大,堵塞交付 快速增⻓长的结果导致服务过⼤大 或者服务过⼩小。⽽而过⼤大的服务 导致整个提交流⽔水线堵塞,测 试⼈人员⽆无法拿到新的版本,交0 码力 | 51 页 | 8.18 MB | 1 年前3
ServiceComb RoadMapServiceComb ServiceComb代码库地址 − Java-chassis • Java版的微服务框架 − service-center • 基于go语⾔言的服务中⼼心 − LinuxCon-Beijing-Workshop • 这次workshop的示例例代码 ServiceComb 0.1版本 1. Java开发框架 2. 服务注册中⼼心 3. 微服务示例例代码 2017年年6⽉月 2017年年6⽉月 2017年年9⽉月 2017年年12⽉月 ServiceComb 0.2版本 1. Go语⾔言开发框架 2. 服务契约⽀支持⼯工具 3. Reactive响应式 4. … ServiceComb 0.3版本 1. 由⽤用户来驱动 … ServiceComb Roadmap Community over code 社区胜于代码 社区共献 01/ 提交BUG 02/0 码力 | 10 页 | 460.46 KB | 1 年前3
ServiceComb在Service Mesh的
探索与思考决定要访问的服务名后即可开 始匹配路由规则,比如 • 系统中稳定运行着A服务, 版本是1.0,最近新上线了 1.1版本,你希望只让一部 分用户进行体验,那么你可 以定义Header带有device- os=android就将95%流量转 移版本为1.0的实例中,5% 转移到1.1版本 • 请求者的元数据中带有 env=production,那么要将 路由到元数据中带有 env=production的实例中 Mesher kubectl Side car Injector create KubeAPI server Deploy call Huawei Confidential 15 部署-商业版方案 背后发生了什么? • 为应用容器设置环境变量http_proxy • 为mesher设置CSE地址(注册中心,配 置中心) • 为mesher对接APM 日志收集 • 为mesher对接APM0 码力 | 21 页 | 8.48 MB | 1 年前3
ServiceComb设计揭秘:标准与开发… 运行模型 基本概念 • SchemaMeta 服务接口定义元数据(服务契约):一个微服务可以拥有多个schema文 件,在同一个微服务当中每个schema文件都有唯一Schema-Id不之对应; • MicroService 微服务元数据:包括应用名、微服务名称、微服务Id、版本、描述、0 码力 | 9 页 | 831.77 KB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁通过领域建模来解决 • 微服务内:聚合通过数据库事务保证强⼀一致 • 内刚 • 微服务间:最终⼀一致 • 外柔 微服务事务⼀一致性建议 • 1987年年Hector & Kenneth 发表论⽂文 Sagas • Saga = Long Live Transaction (LLT) • LLT = T1 + T2 + T3 + ... + Tn • 每个本地事务Tx 有对应的补偿 Cx0 码力 | 33 页 | 2.38 MB | 1 年前3
Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见.html 14 github.com/apache?q=servicecomb servicecomb.apache.org Apache孵化器毕业 • 社区成熟度模型评估 – 代码,发版,共识决策 • Board决议文档撰写 – PMC成员,PMC Chair,项目章程 • 通过投票的方式进行决议 – PPMC投票 – IPMC投票 • 是否构建了有生命力的社区 • 是否能够自主发布合规版本 服务实例Cache优化支 持黑白名单 Service Center Java Chassis 1.0.0-m1 支持Dev开发模式 集成外部配置中心 Metrics 监控支持 异步编程模型支持 ZipkinV2版本支持 Service Center Java Chassis 1.0.0-m2 提升etcd弹性伸缩 边缘服务网关优化 支持文件流上传下载 用户自定义访问日志 Service Center0 码力 | 18 页 | 3.12 MB | 1 年前3
Service Mesh的思考及在华为云的实践决定要访问的服务名后即可开 始匹配路由规则,比如 • 系统中稳定运行着A服务, 版本是1.0,最近新上线了 1.1版本,你希望只让一部分 用户进行体验,那么你可以 定义Header带有device- os=android就将95%流量转 移版本为1.0的实例中,5% 转移到1.1版本 • 请求者的元数据中带有 env=production,那么要将 路由到元数据中带有 env=production的实例中0 码力 | 29 页 | 1.55 MB | 1 年前3
共 17 条
- 1
- 2













