文档章节

分布式系统的基础知识

老子曰
 老子曰
发布于 2015/08/16 11:40
字数 370
阅读 62
收藏 2
1. 分布式系统解决那些问题?
  • 升级单机处理能力的性价比越来越低 (摩尔定律)

  • 单机处理能力存在瓶颈

  • 稳定和容灾

2.网络IO的实现方式
  • BIO 阻塞IO,传统的socket处理方式,特点是 建立连接,读写数据,都会阻塞,通常需要更多的线程来完成server端的工作.

  • NIO 非阻塞IO,基于事件驱动思想,能解决server端多线程的情况,线程相当于handler,注册需要处理的事件即可.

  • AIO 异步IO, 与NIO不同的是在读写的方法中传入CompletionHandler,动作完成后,回调CompletionHandler,所以NIO的处理是发生在可读可写的时候,AIO发生在可读可写之后.

3. 分布式系统的难点
  • 缺乏全局时钟

  • 特定情况下,我们需要使用时钟来区分动作的顺序,解决方法就是交给单独的集群来完成.

  • 分布式环境中的全局锁.

  • 故障独立

  • 部分正常,部分不可用.

  • 单点故障 (Spof single Point of Failure)

  • 单点备份,尽量做到异常自动恢复。

  • 降低单点的影响范围 ( 比如说 分库, 但分库并没有解决打单点问题,只是平均了故障的次数和时间)

  • 事务

  • 两阶段提交(2PC) , 最终一致,BASE, CAP, Paxos 等.


© 著作权归作者所有

共有 人打赏支持
老子曰
粉丝 0
博文 1
码字总数 370
作品 0
成都
项目经理
python全栈和python自动化课程的区别在哪?

老男孩算是国内组早的做python培训的机构了,下面小编对于python自动化课程及全栈课程做了一个总结,希望能帮到你们: python全栈开发: 适合人群:应届本科生,专科,及零基础学员 学习基础...

运维自动化
2017/04/25
0
0
分布式架构师:这些都是我要掌握的知识

前一段时间在网上看见了一篇文章内容大致是 作为一个架构师你需要拥有什么样的能力,其中不过是包括以下几个点: 1、对于Java基础技术体系(包括JVM、类装载机制、多线程并发、IO、网络)有一...

大齐老师
01/06
0
0
系统架构设计师考试大纲(2009)

系统架构设计师考试大纲 一、考试说明: 1.考试目标 考试合格人员应能够根据系统需求规格说明书,结合应用领域和技术发展的实际情况,考虑有关约束条件,设计正确、合理的软件架构,确保系统...

晨曦之光
2012/03/09
0
0
转Elasticsearch顶尖高手系列课程

Elasticsearch,是目前行业中非常热门的一个技术。Elasticsearch是一种分布式的海量数据搜索与分析的技术,可以用于电商网站、门户网站、企业IT系统等各种场景下的搜索引擎,也可以用于对海量...

小花卷juan
2017/06/24
124
0
如何从三流程序员成长为一名年薪50W的架构师(文末附送学习资料)

成为架构师是绝大部分程序员的梦想,当然不敢说绝对,因为一部分程序员想转行搬砖还有一部分想往管理层发展。可是像我们这样有这良好的职业操守的程序员怎么可能三心二意呢,自己选的编程跪着...

j3t9z7h
04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安全管理标准

安全生产严重等级分类: 故障频次: 风险等级矩阵:

乔老哥
16分钟前
1
0
数据结构“树”的相关微视频

今天在腾讯视频上闲逛,然後发现一个叫“岚人”的用户上传了几段小视频,基本上都在5分钟以内,讲解了关于树的一些结构和算法。零代码,非常适合初学者入门。不过,对于老鸟来说,这也是非常...

Iridium
28分钟前
0
0
10-利用思维导图梳理JavaSE-Java 集合

10-利用思维导图梳理JavaSE-Java 集合 主要内容 1.Collection接口 2.Set接口 2.1.Set接口概述 2.2.HashSet类 2.3.TreeSet类 2.4.SortedSet接口 3.List接口 3.1.List接口概述 3.2.ArrayList类...

飞鱼说编程
39分钟前
3
0
活动推荐|互联网3.0与区块链新时代论坛(北京)

1 时间地点 **时间:**9月22日 14:00 - 18:00 地点:(北京海淀)西大街70号 3w咖啡 二层 2 活动详情 Harmony创始人Stephen及团队将介绍他们的区块链分片扩容技术。Stephen曾任Apple地图服务...

HiBlock
57分钟前
1
0
如何优雅的删除Redis的大key

关于Redis大键(Key),我们从[空间复杂性]和访问它的[时间复杂度]两个方面来定义大键。前者主要表示Redis键的占用内存大小;后者表示Redis集合数据类型(set/hash/list/sorted set)键,所含有的...

IT--小哥
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部