#分布式系统

零拷贝技术介绍

发布于:2020-04-01

为什么需要零拷贝 传统的Linux系统的标准I/O接口(read、write)是基于数据拷贝的,也就是数据都是copy_to_user或者copy_from_user 这样做的好处是,通过中间缓存的机制,减少磁盘I/O的操作,但是坏处也很明显,大量数据的拷贝,用户态和内核态的频繁切换,会消耗大量的CPU资源,严重影响数据传输的性能 以下是一个原始数据拷贝操作的例子,假如一个应用需要从某个磁盘文件中读取内容通过网络发出去,其过程需要经过以下4个步骤,整个过程涉及2次 CPU拷贝、2 次DMA拷贝总共4次拷贝,以及4次上下文切换。 read(file_fd, tmp_buf, len); …...

进入阅读

分布式系统最终一致性理论——BASE

发布于:2019-06-20

BASE理论 BASE理论是Basically Available(基本可用),Soft State(软状态)和Eventually Consistent(最终一致性)三个短语的缩写,由eBay架构师提出的,BASE是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网分布式系统实践的总结,是基于CAP定律逐步演化而来。 其核心思想是即使无法做到强一致性,但每个应用都可以根据自身业务特点,才用适当的方式来使系统打到最终一致性 BASE思想的主要实现有: 按功能划分数据库 sharding碎片 基本可用(Basically Available) 基本可用是指分布式系统在出现故障的时候, …...

进入阅读

分布式系统设计理论——CAP

发布于:2019-06-15

CAP定理 CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)这三个基本需求,最多只能同时满足其中的2个。 CAP的具体定义: Consistency(一致性):指数据在多个副本之间能够保持一致的特性,一般特指写操作之后的读操作,必须返回该值。举例来说,某条记录是 v0,用户向 G1 发起一个写操作,将其改为 v1。 Availability(可用性):指系统提供的服务必须一直处于可用的状 …...

进入阅读

分布式事务原理

发布于:2019-01-05

分布式事务 在分布式系统中,为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。为了对用户提供正确的增\删\改\差等语义,我们需要保证这些放置在不同物理机器上的副本是一致的。 分布式事务是指会涉及到操作多个数据库的事务。其实就是将对同一库事务的概念扩大到了对多个库的事务。目的是为了保证分布式系统中的数据一致性。分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果(全部提交或全部回滚) DTP模型和XA事务协议 DTP模型X/Open组织定义的分布式事务处理模型。XA是DTP定义的 …...

进入阅读

分类

开发
    --go (9)
    --java (5)
    --php (11)
    --mysql (9)
    --javascript (3)
    --html (1)
    --算法 (6)
架构
    --理论 (9)
    --网络 (3)
    --服务器 (2)
    --消息队列 (3)
    --容器 (5)
    --监控 (1)
    --搜索引擎 (3)
    --大数据 (0)
    --测试 (1)
系统
    --linux (10)
    --mac (2)
    --windows (1)
足球
    --世界杯 (60)
    --欧洲杯 (28)
    --文迷 (3)
大学时光
    --校园生活 (96)
    --假期生活 (17)
    --广院杯那些事 (14)
    --北京奥运 (6)
    --胡思乱写 (17)


最近发布

零拷贝技术介绍

服务网格技术简介

C语言标准和标准库简介

Kubernetes简介及环境搭建

Go语言开发的顶级项目


归档

2006 (109)
2007 (40)
2008 (47)
2009 (10)
2010 (6)
2012 (10)
2013 (14)
2014 (27)
2015 (15)
2016 (6)
2017 (8)
2018 (11)
2019 (17)
2020 (5)