跳至主要內容
数据流转架构

数据流转架构

技术选型

数据同步

常见数据同步软件:DataX、Sqoop、Maxwell、Canal

框架 DataX/Sqoop Maxwell/Canal
对数据库要求 原理是基于查询,若想通过select查询获取新增及变化数据,就要求数据表中存在create_time、update_time等字段,然后根据这些字段获取变更数据 要求数据库记录变更记录,如:MySQL要开启binlog
数据等中间状态 由于是离线批量同步,故若一条数据在一天中变化多次,该方案只能获取最后一个状态,中间状态无法获取。 由于是实时获取所有的数据变更操作,所以可以获取变更数据中所有中间状态

leo z小于 1 分钟后端大数据分布式架构
分布式理论

分布式理论

热点数据

热点数据隔离:

  • 热点散列(阿里黑科技)
  • 热点库
  • 多级缓存

数据异构(canal)

缓存穿透、缓存击穿、缓存雪崩

热点缓存淘汰策略、多级缓存、布隆过滤器、Null值key

数据高可用

主从、主备

冷(兜底方案)、热备份

Canal中间件

消息中间件

Kafka

RabbitMQ、RocketMQ


leo z小于 1 分钟后端分布式架构
Zookeeper

Zookeeper

版本 3.5.7

基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就会将负责通知已经在Zookeeper上注册的那些观察者作出相应的反应。

Zookeeper = 文件系统 + 通知机制

一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。


leo z大约 4 分钟后端分布式Zookeeper
概述

概述

记录分布式知识


leo z小于 1 分钟后端分布式架构
分布式事务

分布式事务

2PC 两阶段提交

2PC应用之XA

XA是X/Open组织提出的,定义了事务管理器与资源管理器之间通信的接口协议;XA协议由数据库实现,目前支持XA协议的数据库有Oracle、MySql、BD2等;

一个数据库实现XA协议之后,它就可以作为作为一个资源管理器参与到分布式事务中;

2PC应用之TCC

柔性事务

单数据库事务完全遵循ACID规范,属于刚性事务,分布式事务要完全遵循ACID规范比较困难, 分布式事务属于柔性事务,满足BASE理论;


leo z大约 2 分钟后端分布式分布式事务