夏课好微服务系列——分布式核心知识( 二 )


夏课好微服务系列——分布式核心知识
本文插图
Restful 与RPC 比较1.1.2 分布式中的CAP原理
现如今 , 对于多数大型互联网应用 , 分布式系统(distributed system)正变得越来越重要 。 分布式系统的最大难点 , 就是各个节点的状态如何同步 。 CAP 定理是这方面的基本定理 , 也是理解分布式系统的起点 。
CAP理论由 Eric Brewer 在ACM研讨会上提出 , 而后CAP被奉为分布式领域的重要理论 。 分布式系统的CAP理论 , 首先把分布式系统中的三个特性进行了如下归纳:
1)Consistency(一致性):数据一致更新 , 所有数据的变化都是同步的
2)Availability(可用性):在集群中一部分节点故障后 , 集群整体是否还能响应客户端的读写请求
3) Partition tolerance(分区容忍性):某个节点的故障 , 并不影响整个系统的运行
夏课好微服务系列——分布式核心知识
本文插图
任何分布式系统只可同时满足二点 , 没法三者兼顾 , 既然一个分布式系统无法同时满足一致性、可用性、分区容错性三个特点 , 所以我们就需要抛弃一样
夏课好微服务系列——分布式核心知识
本文插图
1.1.3 主从复制与对等复制
1) 主从复制
主从复制也就是广为人知Master-Slave模式 , 即有一个主副本 , 其他副本为从副本 。 所有对数据的写操作都提交到主副本 , 最后再由主副本更新到其他从副本 , 具体更新方式可以分为同步更新、异步更新、同步以及异步混合更新 。 对于主从复制模式来讲 , 写操作的压力都在主副本上 , 它是整个系统瓶颈 , 单从副本可以帮主副本分担读请求 。
2) 对等复制
对等复制也就是Peer to Peer 的模式 , 副本之间不分主从 , 任何副本都可以接受写操作 , 然后每个副本之间相互进行数据更新 。 对等复制不存在写操作压力瓶颈 。 但是由于每个副本都可以进行写操作 , 各副本之间数据同步以及冲突处理是一个比较棘手问题 。 1.1.4 微服务解决方案
1) 基于springCloud 的微服务解决方案
Spring Cloud是一系列框架的有序集合 。 它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发 , 如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等 , 都可以用Spring Boot的开发风格做到一键启动和部署 。 Spring Cloud并没有重复制造轮子 , 它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来 , 通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理 , 最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具
包 。 重新定义SpringCloud书中给出三种基于springCloud的方案如下图:
夏课好微服务系列——分布式核心知识
本文插图
2) ServiceComb
【夏课好微服务系列——分布式核心知识】Apache ServiceComb 是业界第一个Apache微服务顶级项目 ,是一个开源微服务解决方案,致力于帮助企业、用户和开发者将企业应用轻松微服务化上云 , 并实现对微服务应用的高效运维管理 。 其提供一站式开源微服务解决方案 , 融合SDK框架级、0侵入ServiceMesh场景并支持多语言 。