文档章节

分布式系统的基础知识

老子曰
 老子曰
发布于 2015/08/16 11:40
字数 370
阅读 61
收藏 2
点赞 0
评论 0
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

系统架构设计师考试大纲(2009)

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

晨曦之光 ⋅ 2012/03/09 ⋅ 0

分布式架构师:这些都是我要掌握的知识

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

大齐老师 ⋅ 01/06 ⋅ 0

如何从三流程序员成长为一名年薪50W的架构师(文末附送学习资料)

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

j3t9z7h ⋅ 04/12 ⋅ 0

转Elasticsearch顶尖高手系列课程

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

小花卷juan ⋅ 2017/06/24 ⋅ 0

按照这个路线,让你4个月学会Hadoop开发

学习hadoop,首先我们要知道hadoop是什么? 说到底Hadoop只是一项分布式系统的工具,我们在学习的时候要理解分布式系统设计中的原则以及方法,只有这样才能以不变应万变。再一个就是一定要动...

I加加 ⋅ 2017/04/20 ⋅ 0

大数据怎样才能踏入进去?年薪60万大数据架构师教你如何入门!

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此...

董黎明 ⋅ 06/09 ⋅ 0

将不确定变为确定~transactionscope何时提升为分布式事务~再续(避免引起不必要的MSDTC)

相关文章 将不确定变为确定~transactionscope何时提升为分布式事务 将不确定变为确定~transactionscope何时提升为分布式事务~续 将不确定变为确定~transactionscope何时提升为分布式事务~再续...

mcy247 ⋅ 2017/12/05 ⋅ 0

互联网学院大数据开发专业欢迎加入

大数据: 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和...

mcy0425 ⋅ 04/25 ⋅ 0

博客阅读整理一

(部分文章是系列文章,可在原文博客查找) Java ClassLoader, JavaAgent, Aspectj Weaving一站式扫盲帖:主要总结了ClassLoader、java代理、反射相关的知识点 jdbc实现篇-源码:介绍了jdbc的源...

oO脾气不坏Oo ⋅ 2015/10/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 33分钟前 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 昨天 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 昨天 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 昨天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部