声明式自愈系统——高可用分布式系统的设计之道-王昕
处理消息的服务节点可以随机选择 不必处理数据复制和同步的问题 系统容量和高可用能力可以同步提升 服务节点可以随意迁移,不必固定 IP 和存储 有状态分布式系统的高可用问题 一致性 可用性 分区容错性 Paxos Raft 2PC Gossip Ø 处理请求需要特定节点 Ø 必须要考虑数据备份和同步 的问题 Ø 容量扩展和高可用需要不同 解决方案 Ø 服务节点不能随便迁移 CAP Is Not Simply 要在领域内 自己实现 如何设计好状态机和自愈协议? Writing Correct Software Is Hard! Math and Thinking Can Help Us! Ø TLA+ 是用来给(软件或硬件)系统建模的语言 Ø TLA+ 强调排除特定编程语言(软件或硬件)的影响验证系 统设计 Ø TLA+ 由 Paxos 协议的发明人 Leslie Lamport 发明 使用0 码力 | 44 页 | 2.47 MB | 1 年前3从百度文件系统看大型分布式系统设计中的定式与创新
容忍网络隔离是必须的 - CP、AP Quorum机制 • Quorum写(NWR) - Write 写成功W副本 - Read 读R副本 - W+R>N,就不会丢失更新 • 一致性协议 - Paxos - Raft CAP到CAD的演变 • 必须容忍网络隔离 - CAP->CA • 跨地域的延迟 - CA->CAD/CAL • 多数情况下我们更重视可用性 - CAD->CD •0 码力 | 24 页 | 937.45 KB | 1 年前3刘道平-从0到1,移动政务应用小程序系统架构演化
构建分布式微服务框架 1.采用etcd 构建微服务框架 etcd是一个分布式的 、一致的key-value存储,主要用途是共享配置和服务发现。Etcd已经在很多分布式系统中得 到广泛的使用。Etcd采用raft协议,来保证一致性。 2.后台服务采用Go开发,围绕业务功能需求,构建后台服务模块 包括个人中心、服务、待办服务、证照服务、公共服务、外部能力、业务办理服务和运营管理服务模块 12、系统部署架构反复评审论证0 码力 | 35 页 | 15.60 MB | 1 年前3高可用与一致性:构建强一致性分布式数据库 TiDB-沈泰宁
Scale Raft Client A = 1 B = 2 State Machine A = 1 B = 2 Log Raft Module A = 1 B = 2 State Machine A = 1 B = 2 Log Raft Module A = 1 B = 2 State Machine A = 1 B = 2 Log Raft Module election Raft: Key Points •Lazy Peer •Cross DC, cross regions deployment •Learner •Cross DC, cross regions backup •Joint consensus •Safe membership changing Raft: New Features Raft: Lazy Peer 3-DC in 2 regions deployment Raft: Learner Follower Follower Leader Learner Replace nodes? Node2 Node1 Node3 Node2 Node1 Node3 Node4 Node2 Node1 Node4 Raft: Joint consensus Node2 Node1 Node30 码力 | 45 页 | 4.63 MB | 1 年前3高可用分布式流数据存储设计-李玥
选举恢复速度慢,不不可⽤用时间较⻓长 John Ousterhout Diego Ongaro “In search of an understandable consensus algorithm” Raft⼀一致性算法 2014 线性 任⼀一时刻⾄至多只有⼀一个请求在执⾏行行 幂等 使⽤用相同参数重复执⾏行行,能获得相同结果 复制状态机 Replication 0 1 2 3 你的⽇日志⾄至少和我⼀一样新吗? ❓ ❓ ❓ ???? 优点 强⼀一致 选举快速 易易于理理解 弱点 牺牲可⽤用性换取⼀一致性 性能⼀一般 集群规模不不能太⼤大 Raft总结 读请求分流 顺序⼀一致 已提交位置之前的⽇日志具有不不变性。 对于提交的⽇日志,相同位置上Follower的⽇日志和Leader上是⼀一样的。 强⼀一致 如果两个节点上的⽇日志完全相同,并且这些⽇日志都已经被状态机执0 码力 | 36 页 | 6.02 MB | 1 年前3降级预案在同程艺龙的工程实践-王俊翔
admin • 使⽤用ETCD实现注册中⼼心 • 简单 - Go语⾔言编写部署维护简单,定义良好的API • 安全 - SSL认证机制 • 快速 - ⽀支持上万次写⼊入操作 • 可信 - Raft算法保证强⼀一致性,Proxy反向代理理模式⽀支持 • 服务数据存储 • 应⽤用、服务元数据、状态数据,etcd、mysql双份存储 • 后台实时监控应⽤用、服务,实时变更更降级策略略 proxy0 码力 | 26 页 | 18.67 MB | 1 年前3ServiceComb 开源微服务框架技术演进之路 巨震
proxy proxy proxy • 单体应用 • 业务模块划分 • 程序模块间调用 • 独立应用模块 • 通信:协议、队列 • SDK引用 • 通信:http、 RPC… • 服务治理 • 透明代理 • 通信:通用协议 • 服务治理 • Cloud Native部署 ServiceComb 一个基于SDK的“传统”微服务框架 Service 编程模型 运行模型 通信模型 • Spring MVC • JAX-RS • POJO 服务发现 限流 熔断 负载均衡 跟踪 … OpenAPI • 序列化 • 传输协议 Service Mesh • A service mesh is a dedicated infrastructure layer for handling service-to-service Service Discovery Instance Cache Management Service Center Istio Kubernetes Service Center 多协议支持 HTTP gRPC Other protocols invocation Handler Chain Rate Limiting Load Balancing Fallback0 码力 | 20 页 | 861.58 KB | 1 年前3海量用户推送后台系统架构实践-曾振波
LevelDB(PIKA), 定制化 极光推送后台系统架构 04 程序及系统优化 • 内存 • 静态分配 • 内存池 • 内存对齐 • CPU Affinity • 网卡多队列 • 用户态协议栈(DPDK) 极光推送后台系统架构 05 基础组件服务化 • 业务方透明 • 统一管理 • 屏蔽后端变化 • AutoScale,Failover,AutoRecover • JMQ PushTask XPNS MQ MQ IDC6 Conn 系统安全 • 网络安全 • 对外业务隔离,异地多机房部署,健康检查,业务快速部署及调度 • 通信安全 • SSL,私有加密协议 • 服务安全 • 安全校验,异常行为识别,过载保护,白名单/黑名单,服务降级 • 监控及告警 • 多维度监控,告警系统 极光推送后台系统架构 08 K8S部署业务 • 原有系统的运维工作繁杂,资源利用率低0 码力 | 23 页 | 1.26 MB | 1 年前3领域驱动设计&中台/用状态机封装领域逻辑
Subdomain?主题图。 测试 答对问题有奖金 金额从2.56元到20.48元 请扫我微信以便当场转账 加微信时烦告知尊姓大名 作用 学校里经常教的 编译原理 电子设计自动化 通信协议 …… 作用 三个不同的图 图形 视角 映射到实现 类图 全局、静态 类的签名 序列图 局部(用例)、动态 类之间的协作 状态机图 类、动态 所有的逻辑 测试 答对问题有奖金 金额从20 码力 | 30 页 | 1.75 MB | 1 年前3联想-贺钢架构工作在国际化项目中的应用实例
• 联想电脑管家(PC): guanjia.lenovo.com.cn 国际化项目的一些不同点 • 目标客户不同: 文化习俗, 客户需求, 用户体验… • 要求不同: 各国法律法规(版权,协议,第三方,accessibility), 安全性和隐私… • 地域不同: 服务器的部署, 用户的访问, 组织架构, 团队沟通… 项目实例 -- XA项目背景及需求 • 多设备协作 PC, Mobile0 码力 | 53 页 | 2.36 MB | 1 年前3
共 12 条
- 1
- 2