分布式系统基础

一、分布式系统简介

1、定义

系统的各组件分布于网络上多个计算机,各组件彼此直接仅仅通过消息传递来通信并卸掉行动

2、分布式系统存在的意义

 1)单机向上扩展的性价比越来越低

2)单机扩展存在性能上升临界点

3)出于稳定性及可用性考虑,单机会存在多方面的问题

3、多线程编程模型

互不通信的多线模式

基于共享容器协同的多线程模式

通过事件协同的多线程模型

4、网络IO

多进程:每个进程响应一个请求

多线程:每个进程生成多个线程,每线程响应一个请求

或者每线程直接响应多个请求

5、基于socket实现网络通信开发,其实现方式

BIO:Blocking IO

一个进程或一个线程处理一个请求

阻塞IO模式

每一个连接都需要占用一个socket

NIO:Nonblocking IO

基于事件驱动(epoll)思想,采用Reactor模式

socket分配1个线程,1个线程可以处理多个socket相关的工作

AIO:

异步模式

基于事件驱动思想,采用Proactor模式

6、如何把应用从单机扩展至多机

输入设备的变化?

输出设备的变化?

控制器的变化?

从计算机内部的cpu编程了节点服务器

实现的模式:

透明代理:

LVS的NAT

haproxy,nginx

旁路模式:LVS的DR模型

名称服务:DNS

规则服务:

Master/slave机制:

运算器的变化?

存储器的变化?

7、分布式系统实现的难点

缺乏全局时钟?

面对故障时的独立性?

如何处理单点故障?

事务处理

ACID:

2PC,BASE,CAP,Paxos

二、大型网站站点的架构演进方式

LAMP,LNMT

应用从资源占用的角度分两类:

CPU Bound(密集型)

IO Bound

减少同一资源的争用:

单机-->多机

引用mysql主从面临的问题:

1)数据复制的问题

2)应用选择数据源的问题

A:1-->2-->3

B: 1-->2-->3

输入设备的变化

控制器的变化:

透明代理

旁路模式

名称服务

规则服务器

运算器的变化:

存储器的变化:

代理模型

名称服务

规则服务器

Master


时间: 2024-10-07 06:00:18

分布式系统基础的相关文章

分布式系统基础架构

Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上:而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序.HDF

分布式系统基础架构——Hadoop

1.Hadoop a.概念:Hadoop是一个由Apache基金会所开发的分布式系统基础架构 b.组成:Hadoop = HDFS (文件系统) + Mapreduce (数据处理) 2.安装 a.配置Java运行环境 b.从官网下载 Hadoop 并解压,地址:http://hadoop.apache.org/releases.html c.下载 winutils 对 windows 进行支持,地址:https://github.com/steveloughran/winutils(支持老版本

架构演进和分布式系统基础知识

微服务是从单体应用发展而来,传统单体应用非常简单,只有用户.应用系统和数据库. 这种架构非常简单,但也非常脆弱,只适合小型应用,随着系统越来越庞大,用户越来越多,这样的单体应用也就不适合了,分布式架构应运而生. 分布式架构强化了系统的稳定性和安全性,但也使得系统变得难以维护. 微服务继承了分布式架构的特点,也保留单体应用的优点,集合两者所长. 单体应用优缺点:结构简单,但是开发速度慢.启动时间长.依赖庞大等等. 微服务优缺点:易开发.理解和维护.独立的部署和启动等,但是分布式系统带来了分布式事务

想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍?--转自知乎

作者:廖君链接:https://www.zhihu.com/question/19868791/answer/88873783来源:知乎 分布式系统(Distributed System)资料 <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT读博的时候是做分布式系统的研究的,现在在NUS带学生,不仅仅是分布式系统,还有无线网络.如果感兴趣

分布式系统(Distributed System)资料

这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多. <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT

从事分布式系统,计算,hadoop

作者:廖君链接:https://www.zhihu.com/question/19868791/answer/88873783来源:知乎 分布式系统(Distributed System)资料 <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT读博的时候是做分布式系统的研究的,现在在NUS带学生,不仅仅是分布式系统,还有无线网络.如果感兴趣

Hadoop相关基础知识

因为个人对这块的知识也不熟悉,所以大多内容来源于网络. 1.      Hadoop项目框架 2.      Hadoop Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoop实现了一个分布式文件系统(Hadoop DistributedFile System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上:而且它提供高吞吐量(

(转)分布式系统原理

分布式系统原理 一.分布式系统基础重要要点: 对外提供无状态节点,内部实现具体有状态或者无状态节点逻辑,节点即可以是提供服务,也可以是存储数据. 拜占庭问题,在分布式系统中的使用,目的是保证服务可用,而不是找出错误的节点,如果. 异常常见情况,机器宕机.网络异常.消息丢失.消息乱序.数据错误.不可靠的TCP.可能是收到消息后宕机.也可能是处理完成以后机器宕机.处理完成任务后发送确认消息是网络异常.也有可能是发出去的消息丢失,或者发送确认消息时丢失.可能先发送出去的数据后收到 分布式状态.成功.失

分布式系统,本文引用“courage”的博客

1. 如何理解“分布式”? 经常听到”分布式系统“,”分布式计算“,”分布式算法“.分布式的具体含义是什么?狭义的分布是指,指多台PC在地理位置上分布在不同的地方. 2. 分布式系统 分布式系统:多个能独立运行的计算机(称为结点)组成.各个结点利用计算机网络进行信息传递,从而实现共同的“目标或者任务”. 分布式程序: 运行在分布式系统上的计算机程序. 分布式计算:利用分布式系统解决来计算问题.在分布式计算里,一个问题被细化成多个任务,每个任务可以被一个或者多个计算机来完成.     区分分布式计