• RabbitMQ 消息中间件(二)


     

    RabbiMQ简介
    RabbiMQ是Erlang开发的,集群非常方便,因为Erlang天生就是分布式语言,但其本身并不支持负载均衡,支持高并发,支持可扩展。支持AJAX,持久化,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。Ajax = 异步 JavaScript 和 XML

    2、RabbitMQ 特点
    可靠性

    扩展性

    高可用性

    多种协议

    多语言客户端

    管理界面

    插件机制

    3、什么是消息队列
    MQ 全称为Message Queue, 消息队列。是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。

    消息传递指的是程序之间通过在消息中发送数据进行通信。

    RabbiMQ模式
    注意:RabbitMQ模式大概分为以下三种:

    (1)单机模式。

    (2)普通模式(默认的集群模式)。

    (3) 镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适合)。要实现镜像模式,需要先搭建出普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。

    了解集群中的基本概念:
    RabbitMQ的集群节点包括内存节点、磁盘节点。顾名思义内存节点就是将所有数据放在内存,磁盘节点将数据放在磁盘。

    一个rabbitmq集 群中可以共享 user,vhost,queue,exchange等,所有的数据和状态都是必须在所有节点上复制。

    ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用;
    Channel(信道):消息推送使用的通道;
    Exchange(交换器):用于接受、分配消息;
    Queue(队列):用于存储生产者的消息;
    Broker:简单来说就是消息队列服务器实体
    vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离.
    producer:消息生产者,就是投递消息的程序。
    consumer:消息消费者,就是接受消息的程序。
    1571320020040

    面试注意:集群中有两种节点

    1 内存节点:只保存状态到内存(持久的queue的持久内容将被保存到disk)

    2 磁盘节点:保存状态到内存和磁盘。---推荐

    内存节点虽然不写入磁盘,但是它执行比磁盘节点要好。集群中,只需要一个磁盘节点来保存状态 就足够了

    如果集群中只有内存节点,那么不能停止它们,否则所有的状态,消息等都会丢失。

  • 相关阅读:
    jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解
    jQuery的三种$()方式
    基于DDD的.NET开发框架
    你得学会并且学得会的Socket编程基础知识
    C#委托及事件
    C#学习笔记:泛型委托Action<T>和Fun<TResult>
    JS 变量或参数是否有值的判断
    [转]剖析ASP.Net MVC Application
    python爬虫beautifulsoup4系列2【转载】
    python爬虫beautifulsoup4系列1【转载】
  • 原文地址:https://www.cnblogs.com/xujing0808/p/14235418.html
Copyright © 2020-2023  润新知