分布式系统定义:

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

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

通信异常:

分布式系统需要在各个节点之间进行网络通信,因此每次网络通信都会伴随着网络不可用的风险,比如说光纤被挖断了。另外,即使分布式系统各节点之间的网络通信能够正常进行,其延时也会远大于单机操作。通常一次正常的网络通信延迟在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. CodeForces 605A Sorting Railway Cars 思维

    早起一水…… 题意看着和蓝桥杯B组的大题第二道貌似一个意思…… 不过还是有亮瞎双眼的超短代码…… 总的意思呢…… 就是最长增长子序列且增长差距为1的的…… 然后n-最大长度…… 这都怎么想的…… 希望 ...

  2. 小心DLL链接静态库时的内存错误

    本文转自http://www.bennychen.cn/2010/09/%E5%B0%8F%E5%BF%83dll%E9%93%BE%E6%8E%A5%E9%9D%99%E6%80%81%E5%BA% ...

  3. IntelliJ IDEA 13.1.4新建java web项目

    打开软件

  4. Lua手册中的string.len 不解

    Lua手册中的string.len (s) 接收一个字符串,返回其长度. 空串 "" 的长度为 0 . 内嵌零也统计在内,因此 "a\000bc\000" 的长 ...

  5. 简单的javasrcipt选项卡

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta char ...

  6. text绑定(The "text" binding)

    目的 text绑定可以使你传递的参数做为文本显示到相关的DOM元素里. 一般会用在如<span>或者<em>这类元素来显示文本,但从技术来讲它可以绑定到任何元素. 示例 Tod ...

  7. css font简写规则

    是不是在很很多网站的公共样式中会看到这样的代码?font: 12px/150% Arial, Verdana, "\5b8b\4f53";意思为:字体大小/行高 字体族 " ...

  8. sha加密算法

    密钥生成 公钥(e,n)  私钥(d,n) 找两个互质的大素数p和q, 计算n=p*p, f(n)=(p-1)*(q-1) 选择随机整数e(e和f(n)互质) de=f(n)mod 1 利用公钥加密 ...

  9. wireshark 包过滤

    tcp.port == 443 or udp.port==443 or tcp.port==53 or udp.port==53

  10. 转:jmeter之线程组

    虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的.之前的版本只有一个线程组的名字.现在多一个setUp theread Group 与terDown Thread Group 1 ...