微服务的设计原则与⽣态系统 - 王磊## 微服务的设计原则 与生态系统 王磊 ## 关于我  Ruby Gems 开发实战  2018.08.25 ## AGENDA • SOFA MESH 介绍 • SERVICE MESH 落地的问题 • SOFA MESH 的通用落地方案 • DNS 服务寻址方案 • X-PROTOCOL 通用协议 · 问答 ## SOFA MESH • 从 ISTIO 克隆并保持同步更新 - 使用 SOFA-MOSN 代替 Controller Pattern 通过 CRD 扩展新的能力 ## MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 - RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 ## I STIO 控制平面路由的抽象模型 VirtualHost 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持 ## SOFA MESH 的统一解决方案 • 采用 Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 作为 DNS 来寻址服务 • 开发一个通用协议处理框架 - 避免为不同的微服务框架修改 PILOT 代码 • 通过插件的方式按需支持新的协议 • 对应用代码无侵入性 • 为微服务框架提供轻量化客户端0 码力 | 28 页 | 4.73 MB | 1 年前3
Building Effective Embedded Systems: Architectural Best Practices0 码力 | 241 页 | 2.28 MB | 1 年前3
Curve设计要点02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ## 背景 • 多个存储软件:SDFS、NEFS、NBS • 已有的开源软件:Ceph • 不能胜任性能、延迟敏感的场景 • 异常场景抖动较大(比如慢盘场景) 去中心节点设计在集群不均衡的情况下需要人工运维 去中心节点设计在集群不均衡的情况下需要人工运维 • 基于通用分布式存储构建上层存储服务 01 背景 为何从0到1开发Curve 02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ## 基本架构 ## • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度 [Image](/uploads/documents/0/9/e/3/09e38610ff888e0fd1b2626578fba41c/p20_3.jpg) 01 背景 为何从0到1开发Curve 02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ##0 码力 | 35 页 | 2.03 MB | 1 年前3
Greenplum分布式事务和两阶段提交协议## Greenplum分布式事务 和两阶段提交协议 钉钉直播 | 10月21日 20:00 - 21:00 #### Greenplum中文社区 https://cn.greenplum.org 博文·资料·文档·项目 ## 全新的问答论坛 #### https://cn.greenplum.org/askgp ## GREENPLUM DATABASE $ ^{®} $ 












