数据复制与一致性

基本原则与设计理念

CAP

C: (consistency)强一致性
A: (Availability)可用性
P: (Partition Tolerance)分区容忍性

ACID

A:(Atomicity)原子性
C:(Consitency)一致性
I:(Isolation)事物独立性
D:(Durability)持久性

Read More

单机存储系统

单机存储引擎就是哈希表,B树等数据结构在机械磁盘,SSD等持久化介质上的实现。

硬件基础

CPU架构

  1. 经典的多CPU架构为对称对处理结构(Symmetric Multi-Processing,SMP),即在一个计算机上汇集了一组处理器,他们之间对称工作,无主次或从属关系,共享相同的物理内存及总线。
  2. CPU与内存之间通过总线通信。每个核心有各自的L1d Cache(L1数据缓存)及L1i Cache(L1指令缓存),同一个CPU的多个核心共享L2以及L3缓存。
  3. SMP架构的主要特征是共享,系统中所有资源(CPU,内存,I/O等)都是共享的,由于多CPU对前端总线的竞争,SMP的扩展能力非常有限。
  4. 为了提高扩展性,现在主流服务器架构一般为NUMA(Non-Uniform Memory Access,非一致存储访问)架构。它具有多个NUMA节点,每个NUMA节点是一个SMP结构,一般由多个CPU(如4个)组成,并且具有独立的本地内存,IO槽口等。
  5. NUMA节点可以直接快速访问本地内存,也可以通过NUMA互联互通模块访问其他NUMA节点的内存,访问本地内存的速度远远高于远程访问的速度。

Read More

flume介绍

flume最新release版本是1.6.0
官方介绍:
Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.

Read More

用Apache Kafka构建流数据平台的建议

  1. 限制集群数量
  2. 简化数据流:将各个系统间的互联改为以流数据平台为中心
  3. 指定一种数据格式:遵循同一种数据规范可以避免数据生产者和消费者不必要的数据适配工作
  4. 共享事件模式:为常见事件流指定通用模式
  5. 具体数据类型建模:纯数据流,应用程序日志,系统指标,hadoop数据加载等待。。。
  6. 流处理:数据系统之间以流的方式传递数据,将各部分系统解耦,同时起到缓冲区作用。

Read More

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment