分布式系统定义:

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。

分布式系统一些典型的问题:

通信异常:

分布式系统需要在各个节点之间进行网络通信,因此每次网络通信都会伴随着网络不可用的风险,比如说光纤被挖断了。另外,即使分布式系统各节点之间的网络通信能够正常进行,其延时也会远大于单机操作。通常一次正常的网络通信延迟在0.1~1ms左右,

网络分区:

ACID到CAP/BASE

ACID是针对事务来说的。

A:Atomic,原子性,事务中的所有操作要么全部执行,要么全部不执行。

C:Consistency,一致性,事务执行后不能破坏数据库数据的一致性。

I:Isolation,隔离性,一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

有4个隔离级别:read uncommitted、read committed、repeatable read、serializable。

read uncommitted:未提交读,在事务A未提交的时候,事务B能读取到事务A操作过程中的所有中间值。

read committed:提交读,事务B不能读取到事务A的中间值,只能等事务A提交之后,读取到事务A的最终值。

repeatable read:可重复读,在事务过程中,多次读取同一个数据,值是一样的。

serializable:串行化,事务只能串行执行,不能并发执行。

D:Durable,持久性,一旦某个事务成功结束,那么它对数据库所做的更新就必须被永久保存下来。

分布式事务是CAP和BASE。

CAP

C:Consistency,一致性。在分布式环境中,一致性是指数据在多个副本之间能否保持一致。

A:Avaliable,可用性。系统提供的服务必须一直处于可用的状态,对于用户的每一个请求总是能够在有限的时间内返回结果。

P:Partition tolerance,分区容错性。分布式系统在遇到任何网络分区故障的时候,仍然能提供满足一致性和可用性的服务,除非是整个网络都发生了故障。

因为在分布式系统中,网络问题是一个必定会出现的问题,因此分区容错性是分布式系统中必须要解决的问题,剩下的,需要我们根据业务特点,在一致性和可用性之间寻求平衡。

BASE

BA:Basically Avaliable,基本可用。分布式系统在出现不可预知故障时,允许损失部分可用性,如响应时间稍微增加,业务降级等。

S:Soft state,软状态,是指允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。

E:Eventually consistent,最终一致性,是指系统中所有数据副本,在经过一段时间的同步之后,最终能达到一致性。

2PC和3PC

2PC:Two-Phase Commit,二阶段提交,将事务的提交过程分成两个阶段进行处理:

阶段一:提交事务请求

SSH整合环境下Spring配置文件的配置的更多相关文章

  1. ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存

    ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存 hibernate  : Hibernate是一个持久层框架,经常访问物理数据库 ...

  2. Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用

    Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单 ...

  3. Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作

    详细的Spring MVC框架搭配在这个连接中: Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 这篇主 ...

  4. Maven 工程下 Spring MVC 站点配置 (一)

    最近,查找一些具体资料时,虽然会有很多,但是系统的却很少,尤其是对maven 下 spring mvc 站点搭建的配置,总是说的很多但让新手一目了然的步骤却少之又少. 对此闲暇时整理了一下,做了一套较 ...

  5. T4模板生成不同部署环境下的配置文件

    使用T4模板生成不同部署环境下的配置文件 在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据 ...

  6. 实验七:Xen环境下cirrOS的安装配置

    实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...

  7. 【转】mysql8.0 在window环境下的部署与配置

    [转]mysql8.0 在window环境下的部署与配置 今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来.需要的朋友可以看看.额,或许有人要吐槽我为什么不在linux上去配置 ...

  8. GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...

  9. aarch64环境下,搭建并配置服务器tomcat:

    aarch64环境下,搭建并配置服务器tomcat: 环境说明及下载相关文件: 1. ARM环境:aarch64开发板 2.JDK安装包: jdk-8u231-linux-arm64-vfp-hflt ...

随机推荐

  1. HTML5 学习总结

    1,h5比原来的h4.0版本的页面头部更为简化, <!doctype html> <meta charset="utf-8"/>sublime中快速生成格式 ...

  2. ERP流程图

  3. Openjudge-计算概论(A)-求分数序列和

    描述: 有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和.输入输入有一行:正整数n.输出输出有一行:分数序列的和(浮点数,精确到小数点后4位) ...

  4. UISwitch 开关控件

    UISwitch iOS中的开关控件,只有两种状态,打开或关闭. aSwitch.tintColor = [UIColor redColor]; //关闭状态下的渲染颜色 aSwitch.onTint ...

  5. EXEC 和 SP_EXECUTESQL的区别

    摘要: MSSQL为我们提供了两种动态执行sql语句的命令:EXEC 和 SP_EXECUTESQL.通常SP_EXECUTESQL更具优势,因为它提供了输入输出的接口,且能够重用执行计划,大大提高执 ...

  6. 菲菲更名宝贝 得意非凡版 v1.9 免费绿色版

    软件名称: 菲菲更名宝贝 得意非凡版软件语言: 简体中文授权方式: 免费软件运行环境: Win8 / Win7 / Vista / WinXP软件大小: 12.5MB图片预览: 软件简介:菲菲更名宝贝 ...

  7. docker私服

    1.下载私服镜像docker pull registry 2.启动容器docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registr ...

  8. Core Animation中的组动画

    实际开发中一个物体的运动往往是复合运动,单一属性的运动情况比较少,但恰恰属性动画每次进行动画设置时一次只能设置一个属性进行动画控制(不管是 基础动画还是关键帧动画都是如此),这样一来要做一个复合运动的 ...

  9. .net core 系列

    1..net core 验证码 2..net core 导出excel 3..net core 上传文件 4..net core 时间戳转换 5..net core 读取配置文件 6..net cor ...

  10. 《Windows驱动开发技术详解》之分层驱动程序

    分层驱动程序概念 分层的目的是将功能复杂的驱动程序分解成多个简单的驱动程序.一般来说,他们是指两个或两个 以上的驱动程序,它们分别创建设备对象,并且形成一个由高到低的设备对象栈.IRP请求一般会被传送 ...