kafka、hive、mysql、redis、hbase架构笔记

kafka、hive、mysql、redis、hbase架构笔记

  • kafka
    • 介绍
    • 设计
    • 特点
    • 主题和日志
    • 生产者
    • 消费者
    • 名词
  • hive
    • 架构
    • 运行机制
  • mysql
    • mysql逻辑架构
  • redis
    • 概念
    • 持久化
    • 架构
  • hbase
    • 架构

kafka

介绍

kafka是一个分布式流平台。

设计

①可跨越多个数据中心作为集群运行
②将记录流存储在topic中
③每个记录由一个键、一个值、一个时间戳组成

特点

①允许应用程序发布的记录流到多个topic
②应用程序可订阅多个topic,并处理他们
③应用程序可充当流处理器,消费数据并生产数据到topic
④生产者、消费者可重复使用
⑤管理和检查topic
kafka、hive、mysql、redis、hbase架构笔记_第1张图片

主题和日志

①每个topic可以有0、1、n个消费者去消费他
②topic的每个分区都是一个有序的队列,这些记录连续的附加到日志中
③可配置记录保存时间,在超过期限后,记录则被丢弃,不管他有没有被消费
④消费者保留的唯一元数据是他在日志中的偏移量(位置),可设置消费最新、从头开始、从现在开始
kafka、hive、mysql、redis、hbase架构笔记_第2张图片
kafka、hive、mysql、redis、hbase架构笔记_第3张图片

生产者

将数据发布到他们选择的主题,并将记录指配给topic的某个分区。指定方式:①简单的循环方式 ②根据某些语义某些键

消费者

①消费者组是逻辑上的一个订阅者
kafka、hive、mysql、redis、hbase架构笔记_第4张图片

名词

①Producer :消息生产者,就是向kafka broker发消息的客户端;
②Consumer :消息消费者,向kafka broker取消息的客户端;
③Consumer Group (CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
④Broker :一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。
⑤Topic :可以理解为一个队列,生产者和消费者面向的都是一个topic;
⑥Partition:为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,一个topic可以分为多个partition,每个partition是一个有序的队列;
⑦Replica:副本,为保证集群中的某个节点发生故障时,该节点上的partition数据不丢失,且kafka仍然能够继续工作,kafka提供了副本机制,一个topic的每个分区都有若干个副本,一个leader和若干个follower。
⑧leader:每个分区多个副本的“主”,生产者发送数据的对象,以及消费者消费数据的对象都是leader。
⑨follower:每个分区多个副本中的“从”,实时从leader中同步数据,保持和leader数据的同步。leader发生故障时,某个follower会成为新的leader。


hive

架构

kafka、hive、mysql、redis、hbase架构笔记_第5张图片

运行机制

kafka、hive、mysql、redis、hbase架构笔记_第6张图片

mysql

mysql逻辑架构

kafka、hive、mysql、redis、hbase架构笔记_第7张图片

redis

转载自:https://mp.weixin.qq.com/s/XJzu8yyVYZYmcOui_xXnvw

概念

非关系型键值对数据库,遵循BSD协议、支持网络、可基于内存、可持久化的日志型、键值对的数据库。

持久化

把数据从内存写到磁盘中,防止内存数据丢失
方式
①RDB:写入磁盘中的RDB文件(默认方式)。性能更好
②AOF:只追加到磁盘中的AOF文件。更安全
存储结构遵循RESP协议:是一种客户端和服务端之间的通讯协议,特点是①实现简单 ②快速解析 ③可读性好

架构

单机版:使用简单,容量有限,无法高可用
kafka、hive、mysql、redis、hbase架构笔记_第8张图片

主从复制(伪分布):在一台服务器创建多个redis节点,降低了读压力,但没有解决写压力,不能保证高可用
kafka、hive、mysql、redis、hbase架构笔记_第9张图片
哨兵:sentinels是一个分布式监控redis主从服务器的系统。具有监控、提醒、故障自动转移功能。但没有解决master的写压力
kafka、hive、mysql、redis、hbase架构笔记_第10张图片
集群(proxy型):在client和Master间有防火墙,故障转移方案需要自行配置
集群(直连型):无中心结构,redis服务器间彼此连接和复制

hbase

架构

kafka、hive、mysql、redis、hbase架构笔记_第11张图片

你可能感兴趣的:(大数据,kafka)