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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【架构师面试-消息队列-2】-消息队列使用场景剖析 -> 正文阅读

[大数据]【架构师面试-消息队列-2】-消息队列使用场景剖析

1:应用解耦

1:原系统

缺点是耦合性太强,每个系统都要接入A,每次加入新系统是不是都需要修改代码?

2:应用解耦

需要被接入的系统A只需要将消息写入MQ即可,每个需要对接系统A的系统只需要订阅消息队列的消息,系统A的代码完全不需要修改。

3:举例

用户支付订单完成后,系统需要给用户发红包、增加积分、发货、物流等等行为,就可以通过这样的方式进行解耦。

2:异步处理

1:同步

一次请求耗时:3 + 300 + 200 + 600 = 1103ms

请求执行耗时较长有什么弊病:系统百分之80%的性能问题,都是慢查询导致

系统请求耗时较长 --- 吞吐量大幅降低 --- 系统资源占用陡升

特点:串行、逐个、同步

1. 系统A需要等待,BCD逐个执行完毕

2. 如果任意系统出错,那么真个流程就报错

3. 如果任意系统超时,那么整个流程就超时

2:异步

一次请求耗时:3 + 2 = 5ms

特点:异步、并行

前提:系统A返回的结果,并不依赖BCD处理的结果

MQ发送消息失败咋办?

3:流量削峰

系统A压测得出接口峰值处理能力500tps。

大多数系统,一定会有访问量的波峰和波谷。比如:12306、美团外卖...

如果在访问量大的情况下,所有请求都打到数据库上,那么再强悍的数据库也很难承受。

将多余请求积压在MQ中,系统A慢慢处理。把超过500峰值的流量削掉,填在空闲的其他低估时期,所以才叫削峰填谷。

消息队列会不会被打挂掉?

4:信息通信

1:概述

消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。

2:举例

IM 聊天

点对点消息队列。有基于消息队列的 RPC 框架实现,例如rabbitmq-jsonrpc ,用的人较少。

面向物联网的 MQTT 。阿里在开源的 RocketMQ 基础上,增加了 MQTT 协议的支持,可见 消息队列 for IoT 。

5:日志处理

1:如何使用

日志处理,是指将消息队列用在日志处理中,比如 Kafka 的应用,解决大量日志传输的问题。

日志采集client,负责日志数据采集,定时批量写入 Kafka 队列

Kafka,负责日志数据的接收,存储和转发

日志处理Server:订阅并消费 Kafka 队列中的日志数据,将日志信息进行分析,可视化展示等...

2:最常见日志解决方案:ELKK

Elasticsearch :实时日志分析服务的核心技术,一个 schemaless ,实时的数据存储服务,通过index 组织数据,兼具强大的搜索和统计功能。

Logstash :对接 Kafka 写入的日志,做日志解析,统一成 JSON 输出给 Elasticsearch 中。

Kibana :基于 Elasticsearch 的数据可视化组件,超强的数据可视化能力是众多公司选择 ELK

stack 的重要原因。

Kafka :接收用户日志的消息队列

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:26:02  更:2021-11-23 12:27:07 
 
开发: 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/24 9:04:27-

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