• 01_中间件


    中间件

    • 一般都用到分布式项目中
    • 是一种接收数据,接收请求,存储数据,发送数据等功能的技术服务

    路线

    在这里插入图片描述

    在这里插入图片描述

    基于消息中间件的分布式系统的架构

    在这里插入图片描述

    消息队列协议

    网络协议的三要素

    1.语法。语法是用户数据与控制信息的结构与格式以及数据出现的顺序。

    2.语义。语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。

    3.时序。时序是对事件发生顺序的详细说明。

    而消息中问件采用的并不是http协议,而常见的消息中问件协议有:OpenWire、AMQP、MQTT、Kafka,OpenMessage协议.

    在这里插入图片描述

    AMQP协议

    AMQP:(全称: Advanced Message Queuing Protocol)是高级消息队列协议。由摩根大通集团联合其他公司共同设计。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。

    特性:

    1:分布式事务支持。

    2:消息的持久化支持。

    3:高性能和高可靠的消息处理优势。

    消息队列持久化

    简单来说就是将数据存入磁盘,而不是存在内存中随服务器重启断开而消失,使数据能够永久保存。

    消息的分发策略

    MQ消息队列有如下几个角色

    1:生产者

    2:存储消息

    3:消费者

    那么生产者生成消息以后,MQ进行存储,消费者是如何获取消息的呢?一般获取数据的方式无外乎推(push)或者拉(pull)两种方式,典型的git就有推拉机制,我们发送的http请求就是一种典型的拉取数据库数据返回的过程。而消息队列MQ是一种推送的过程,而这些推机制会适用到很多的业务场景也有很多对应推机制策略。

    消息队列高可用高可靠

    所谓高可用:是指产品在规定的条件和规定的时刻或时间内处于可执行规定功能状态的能力。
    当业务呈增加时,请求也过大,一台消息中间件服务器的会触及硬件(CPU,内存,磁盘)的极限,一台消息服务器你已经无法满足业务的需求,所以消息中间件必须支持集群部署。来达到高可用的目的。

    反正总归三句话:

    1. 要么消息共享.
    2. 要么消息同步
    3. 要么元数据共享

    什么是高可靠机制

    所谓高可用是指:是指系统可以无故障低持续运行,比如一个系统突然崩溃,报错,异常等等并不影响线上业务的正常运行,出错的几率极低,就称之为:高可靠。

    在高并发的业务场景中,如果不能保证系统的高可靠,那造成的隐患和损失是非常严重的。如何保证中间件消息的可靠性呢?可以从两个方面考虑:

    1:消息的传输:通过协议来保证系统间数据解析的正确性。

    2:消息的存储可靠:通过持久化来保证消息的可靠性。

  • 相关阅读:
    多语言翻译软件 Mate Translate mac中文版特色功能
    电商运营管理——广告系统
    LLaMA2模型训练加速秘籍:700亿参数效率提升195%!
    (Java高级教程)第一章Java多线程基础-第一节3:线程状态和线程安全
    Elasticsearch:使用最新的 Python client 8.0 来创建索引并搜索
    基于三维gis平台的消防系统运用
    服务器数据备份最佳实践快速指南
    神经网络正则化技术防过拟合和R语言CNN卷积神经网络手写数字图像数据MNIST分类
    【深度学习】嵌入式人工智能概述
    一篇文章带你解1+X Web 前端开发考核考纲(详细介绍)(涵盖初级、中级、高级)
  • 原文地址:https://blog.csdn.net/xixihaha_coder/article/details/126857085