消息系统的4大使用场景

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 消息系统的4大使用场景

为什么要使用消息系统

这是最开始的一种架构:

  1. 大量的请求到达Web网站时,我们可以通过Redis缓存减少数据库对数据的查询压力。但是对于大量的增、删、改等请求,Redis无法完成,所以需要一个专门的消息系统来“缓存”这些请求。
  2. 一些非法操作会同时发送海量的查询请求,这时如果Redis中没有对应的数据,则这些请求就会被转嫁到Mysql,Mysql会瞬间承受大量的查询压力,来不及将对应的数据发送到Redis中,直接导致数据库宕机。所以也需要一个消息系统来“缓存”这些请求。

所以我们就使用下面的架构缓解数据库压力

备注:Redis可以做消息系统,但是无法适应大量的消息存储,一旦内存不足,直接完蛋。

消息系统的应用场景

  1. 解耦合

如上图所示,如果没有消息系统的情况下,,Web网站会直接调用手机认证和邮箱认证的接口,如果认证系统调用方式或者接口发生变更,Web网站的相关代码也需要更改,并且重新打包编译部署启动,这段时间网站无法使用,是无法容忍的问题。


因此我们使用消息系统,采取下面的方式:

如上图使用了消息系统可以做到web服务和其他的服务之间的解耦合,如三方的接口/调用方式做了更改, 我们不需要修改web服务的代码,也不需要重新启动web服务,只需要修改消息系统中调用三方服务的代码即可。

  1. 异步处理

假设一个场景:

当我们注册账号时,需要获取短信验证码或者邮箱认证,我们获取到发送认证成功后才会返回发送成功信息,在这之前,我们需要耗费大量时间等待我们的操作是否成功,严重影响用户体验。


因此我们采用消息系统的异步处理的特性解决此问题

异步处理在会先返回结果后再执行发送信息,避免了用户长时间等待操作是否成功的通知。

  1. 流量削峰

如上图,当有了消息系统,可以短时间拦截大量的请求,形成消息队列,交给Mysql慢慢的执行(可以理解为 大坝:当洪水来临,拦截下来,慢慢放流)

  1. 消息通信

客户端A 和 B 进行通信时,必须双方同时在线才能通信,否则不行。

但是引入消息系统后,我们可以将A的“发送信息”存入到消息系统中,当B上线后再将存入消息系统的“发送信息”发送给他。公众号群发的消息也是用此实现的。

目录
相关文章
|
存储 安全 API
什么是API Token?
API令牌是一种用于访问和验证API(应用程序编程接口)的安全凭证。它是一个字符串,用于识别和授权应用程序或用户访问特定的API服务或资源。==API令牌可以是访问令牌(Access Token)或密钥(API Key)==。
1863 0
|
7月前
|
数据采集 搜索推荐 API
小红书笔记详情 API 接口:获取、应用与收益全解析
小红书(RED)是国内领先的生活方式分享平台,汇聚大量用户生成内容(UGC),尤以“种草”笔记闻名。小红书笔记详情API接口为开发者提供了获取笔记详细信息的强大工具,包括标题、内容、图片、点赞数等。通过注册开放平台账号、申请API权限并调用接口,开发者可构建内容分析工具、笔记推荐系统、数据爬虫等应用,提升用户体验和运营效率,创造新的商业模式。本文将详细介绍该API的获取、应用及潜在收益,并附上代码示例。
1017 13
|
8月前
|
监控 安全 数据库
阿里云国际站:如何使用阿里云国际站服务器
阿里云国际站服务器是一种强大的云计算服务,可以帮助用户轻松搭建和管理自己的网站、应用程序和数据库。本文将介绍如何使用阿里云国际站服务器,包括注册账户、选择服务器配置、安装操作系统、配置网络和安全设置等方面。
|
10月前
|
机器学习/深度学习 人工智能 安全
AI与网络安全:防御黑客的新武器
在数字化时代,网络安全面临巨大挑战。本文探讨了人工智能(AI)在网络安全中的应用,包括威胁识别、自动化防御、漏洞发现和预测分析,展示了AI如何提升防御效率和准确性,成为对抗网络威胁的强大工具。
|
10月前
|
缓存 监控 网络协议
一文带你了解10大DNS攻击类型,收藏!
【10月更文挑战第23天】
2373 1
一文带你了解10大DNS攻击类型,收藏!
|
存储 数据安全/隐私保护
制作苹果研发者证书和MAC的CSR证书
制作苹果研发者证书和MAC的CSR证书
263 0
|
Linux iOS开发 MacOS
安装Python 在 Windows、macOS 和 Linux上的详细步骤
安装Python 在 Windows、macOS 和 Linux上的详细步骤
488 2
|
API 开发者
【产品上新】文档中心新增订阅和消息推送功能
【产品上新】文档中心新增订阅和消息推送功能
326 11
|
机器学习/深度学习 JSON 文字识别
OCR文字识别技术总结(一)
OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,经过检测暗、亮的模式肯定其形状,而后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并经过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提升识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也随之产生。
4420 0
OCR文字识别技术总结(一)