架构师必备的20个英文缩写,看你知道几个?( 二 )


MVCC:
Multi-Version Concurrency Control 多版本并发控制,MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问;在编程语言中实现事务内存 。MVCC是通过保存数据在某个时间点的快照来实现的. 不同存储引擎的MVCC. 不同存储引擎的MVCC实现是不同的,典型的有乐观并发控制和悲观并发控制 。
RESP:
redis Serialization Protocol,RESP 是 Redis 序列化协议的简写 。它是一种直观的文本协议,优势在于实现异常简 单,解析性能极好 。
COW:
写入时复制(英语:Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略 。其核心思想是,如果有多个调用者(callers)同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变 。这过程对其他的调用者都是透明的(transparently) 。优点是如果调用者没有修改该资源,就不会有副本(private copy)被建立,因此多个调用者只是读取操作时可以共享同一份资源 。
AMQP:
即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计 。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制 。Erlang中的实现有 RabbitMQ等 。
SDS:
简单动态字符串(simple dynamic string,SDS)的抽象类型 。字符串是Redis中最为常见的数据存储类型,其底层实现是简单动态字符串sds(simple dynamic string),是可以修改的字符串 。它类似于JAVA中的ArrayList,它采用预分配冗余空间的方式来减少内存的频繁分配 。C语言字符串使用长度为n+1的字符数组来表示长度为n的字符串,并且字符数组的最后一个元素总是空字符'',因为这种字符串表示方式不能满足Redis对字符串在安全性、效率以及功能方面的要求,所以Redis自己构建了SDS,用于满足其需求 。在Redis里,C语言字符串只用于一些无须对字符串值进行修改的地方,比如:日志 。在Redis中,包含字符串值的键值对都是使用SDS实现的,除此之外,SDS还被用于AOF缓冲区、客户端状态的输入缓冲区 。
DDD:
DDD(Domain-Driven Design 领域驱动设计)是由Eric Evans最先提出,目的是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题 。整个过程大概是这样的,开发团队和领域专家一起通过 通用语言(Ubiquitous Language)去理解和消化领域知识,从领域知识中提取和划分为一个一个的子领域(核心子域,通用子域,支撑子域),并在子领域上建立模型,再重复以上步骤,这样周而复始,构建出一套符合当前领域的模型 。
RDB:
Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化文件即可实现数据恢复 。RDB (Redis DataBase) 。RDB 是 Redis 默认的持久化方案 。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中 。即在指定目录下生成一个dump.rdb文件 。Redis 重启会通过加载dump.rdb文件恢复数据 。RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发 。
【架构师必备的20个英文缩写,看你知道几个?】AOF:
Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化文件即可实现数据恢复 。AOF(Append only file)持久化:以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中命令达到恢复数据的目的 。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式 。
ZAB:
ZAB 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议) 。ZAB 协议的消息广播过程使用的是一个原子广播协议,类似一个 二阶段提交过程 。对于客户端发送的写请求,全部由 Leader 接收,Leader 将请求封装成一个事务 Proposal,将其发送给所有 Follwer,然后,根据所有 Follwer 的反馈,如果超过半数成功响应,则执行 commit 操作(先提交自己,再发送 commit 给所有 Follwer) 。
ACK:
ACK消息,Acknowledgement。是在计算机网上中通信协议的一部分,是设备或是进程发出的消息,回复已收到数据 。例如在传输控制协议(TCP,Transmission Control Protocol)中就有用ACK来告知创建链接时有收到SYN数据包、使用链接时有收到数据包,或是在中止链接有收到FIN数据包 。


推荐阅读