IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【石杉码农学院】第一季 -> 正文阅读

[大数据]【石杉码农学院】第一季

第一季

1. MQ

为什么使用MQ?MQ的优缺点?MQ的选型?

1.1为什么使用MQ?

考点:为什么要用这个技术?为了用而用,或者别人设计的架构,没有自己思考

解耦、异步、削峰

解耦

异步化:

削峰。这其实是MQ一个很重要的应用。假设系统A在某一段时间请求数暴增,有5000个请求发送过来,系统A这时就会发送5000条SQL进入MySQL进行执行,MySQL对于如此庞大的请求当然处理不过来,MySQL就会崩溃,导致系统瘫痪。如果使用MQ,系统A不再是直接发送SQL到数据库,而是把数据发送到MQ,MQ短时间积压数据是可以接受的,然后由消费者每次拉取2000条进行处理,防止在请求峰值时期大量的请求直接发送到MySQL导致系统崩溃。

短暂高峰期,造成消息积压,这样依然会导致其他消息没有及时处理啊?

高峰期过后,consumer依然具有消费能力。

1.2 MQ有什么优点和缺点?

技术是一把双刃剑,有好有坏?有哪些坑?

【引入MQ的问题】
(1)系统可用性降低,如果A发送MQ,B、C、D订阅这个MQ,当MQ跪了,整个系统就跪了。

(2)producer发送多个消息到MQ中 或者 msg丢失了 或者 本来发送有序的msg到mq变成无序的了、consumer跪了导致消息大量积压。

(3)一致性问题。这种情况可能是ABCD四个系统,依赖MQ,要求ABCD全都执行成功,结果ABC成功,D失败,此时返回给用户的状态是成功,但是真个逻辑链条因为D失败导致数据不一致。

1.3 Kafka、aq、rabbitmq、rocketmq都有什么区别以及使用哪些场景?

调研每一个mq使用场景
MQ对比,这个是石衫讲的笔记

rocketmq:java + 分布式 + 扩展性好

kafka:功能简单、在大数据领域的实时计算以及日志采集被大规模使用,是事实上的标准,吞吐量超高,

Kafka

kafka:分布式流式平台,三个关键能力:(1)订阅发布记录流(2)以容错的方式记录流(3)实时记录流

kafaka应用:(1)消息系统(2)存储系统(3)作为流处理器

三个基本组件:producer(发布消息的客户端)----Message Broker(生产者接受并存储消息的客户端)----consumer(消费者从Broker中读取消息)

Kafka运行在一个或者多个数据中心的服务器上作为集群运行

Kafka cluster存储消息记录的目录被称为 topics

每条消息记录包含三个要素:键、值、时间戳

【4个核心API】

Producer API:允许应用程序向一个或者多个topic上发送消息记录

Consumer API:允许应用程序订阅一个或者多个topic并处理为其生成的记录流

Streams API:允许应用程序作为流处理器,从一个或者多个topic中消费输入流,并为其生成输出流,有效的将输入流转换为输出流

Connector API:允许构建和运行将Kafka主题连接到现有应用程序或者数据系统的可用生产者和消费者。

Fig-Kafka
Kafka的基本概念:
它是高度可扩展可容错的消息系统

topic:主题,逻辑概念

partition:分区,topic中的msg会被分割成一个或者多个partition,parittion是物理概念

注意:由于一个主题包含无数个分区,因此无法保证在整个 topic 中有序,但是单个 Partition 分区可以保证有序。消息被迫加写入每个分区的尾部。Kafka 通过分区来实现数据冗余和伸缩性

segment:段,把分区进一步细分成若干个segment,每个segment大小相等

broker:broker接收producer的消息,为msg设置偏移量,并提交msg到disk保存。broker还为consumer提供服务,对读取partition的请求作出响应,返回已经提交到disk上的msg。

在Kafka集群中有一个或多个broker,每个cluster中都会有1个broker作为Leader集群控制器,通过集群中活跃成员选举出来的,每个broker都可能作为Leader,Leader负责管理工作,包括将分区分配给broker和监控broker。

RabbitMQ

RabbitMQErlang开发,实现了AMQP(高级消息队列协议)
可靠、灵活的分发消息策略。。这应该是RabbitMQ的一大特点。在消息进入MQ前由Exchange(交换机)进行路由消息。分发消息策略有:简单模式、工作队列模式、发布订阅模式、路由模式、通配符模式、集群、多种协议、多语言客户端、可视化管理、插件机制

它的broker由exchange和queue组成
RabbitMQ

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:30:44  更:2022-05-11 16:31:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:37:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码