系统架构设计知识梳理--分布式架构
CAP理论
C-一致性(一般指强一致性)
A-可用性(常见指标TP999)
P-分区容错性
其中一致性与可用性存在矛盾,需要开发者根据实际业务取舍
一致性解决方案--Raft算法
原理是将集群中所有服务归为三类角色,leader(领导者),follower(选举者),condidate(参选者),一个集群有且仅有一个leader,当leader正常工作时,系统只有leader和follower两个角色。
当leader宕机时,会有一部分follower转变成condidate竞选leader,其他follower会投票选出一台作为新leader
一致性的脑裂及相应的解决方案Lease原理
脑裂:当集群中leader宕机,其他follower选出新leader后,宕机的leader恢复了服务(可能还携带自己的follower回到集群),那此时集群就有两个leader并各自有自己的follower,这种类似一个大脑分裂成两部分的现象叫做脑裂
Lease:废弃Raft选举制,改为定时下发命令某服务器为leader,这样保证了有且只有一个leader,但风险是当leader宕机,在下一次指定leader命令下发前,系统处于无leader状态,服务不可用
数据库设计
系统架构设计知识梳理--分布式架构相关推荐
- Java企业级应用架构设计中的分布式结构
Java企业级应用架构设计中的分布式结构 2010-12-24 13:54:12| 分类:默认分类 | 标签:|字号大中小 订阅 Java企业级应用架构设计是每个Java开发者不必学的知识,本文将 ...
- 阿里P8架构师谈:分布式架构设计12精讲
分布式架构设计包含: 分布式缓存 分布式消息中间件 分库分表.读写分离 单点登录等 想成为阿里160万年薪的P8架构师?你必须掌握如下6大技能体系! 阿里P8架构师谈:分布式架构系统拆分原则.需求.微 ...
- 分布式架构设计之基础软件系统架构
分布式架构设计之基础软件系统架构 原创文章来之不易,转载请注明出处: http://blog.csdn.net/why_2012_gogo/article/details/74137631 一个好的系 ...
- 系统架构设计方法-5-技术架构设计篇
技术架构设计工作内容 技术架构主要包括两大部分:软件-技术平台/组件.硬件-基础设施 主要是对应用和数据提供哪些可用资源 工作内容-1-分析平台组件的需求 输入(架构资产部分) 分析过程 输出模板和示 ...
- 阿里架构师,讲述分布式架构云平台解决方案(附学习路线)...
技术架构 分布式架构云平台在充分分析IT技术发展趋势,遵循集中化.标准化.集成化.可靠化和可扩展化的设计原则,以价值创造为使命,以规范化.一体化.智能化的云平台为支撑,实现信息的透明共享.业务的敏捷协 ...
- 架构设计之如何写架构设计说明书
架构设计是需求分析到软件实现的桥梁,也是决定软件质量的关键.编制架构设计说明书是开发人员向架构师转变必定会经历的过程.在架构师整个的成长过程中,必定会经历编制架构设计说明书.评审架构设计说明书以及根据 ...
- MySQL异步复制延迟解决的架构设计与运维架构ppt
<MySQL异步复制延迟解决的架构设计与运维架构ppt> 下载地址:网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731216.html
- [读书笔记]大型分布式网站架构设计与实践.分布式缓存
前言:本书是对分布式系统架构涉及到的相关技术的一本科普书籍.由于很难作为开发参考,只能但求了解.所以通篇浅读,对分布式系统进行大致的了解.因为写的非常好,感觉非常有意思,自己也做不出总结.所谓的读书笔 ...
- 系统架构设计方法-4-数据架构设计篇
数据架构设计工作内容 数据分布:数据实体和应用的对应关系 个人感觉:这里面写数据流转不太妥,流传应该都是应用层面来完成的.应用和数据之间的读写关系的组合. 工作内容-1-确定数据域 系统架构设计模板和 ...
最新文章
- 零基础学习Java培训有什么攻略
- C++类的信息隐藏机制
- Android安全教程(3)---Fiddler简易使用教程之抓取https包
- Python实训day06am【网络爬虫(爬取接口)】
- LeetCode之Longest Common Prefix
- 40-400-035-运维-优化-pt-variable-advisor优化工具
- 《统计学习方法》—— 感知机对偶算法、推导以及python3代码实现(二)
- spring boot 教程(三)配置详解
- 批量增加dns 条件转发器
- UMLChina公众号文章精选(20220126更新精选)
- 编码器和译码器(数电实验报告)
- 完整性校验用到常见的算法_文件完整性校验
- java calendar时间计算_Java Calendar计算所在时区的时间偏移量
- 注意力机制在视觉中的实战
- linux配置文件密码加密工具,Linux下利用openssl对文件进行加密和解密
- 使用python Mayavi 绘制矢量场图
- 我的世界Mod整合包中的Mod下载
- 量化交易5-backtrader编写均线策略
- ognl.NoSuchPropertyException(没有对应属性异常)
- 记录一次vue项目引入GoogleMap API进行地图定位