zoukankan      html  css  js  c++  java
  • 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 磁盘节点:保存状态到内存和磁盘。---推荐

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

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

  • 相关阅读:
    php curl 获取 邮箱通讯录 126
    php curl 获取 邮箱通讯录 sns(hotmail)
    让input表单不显示历史记录
    array_multisort() 排序理解
    jquery对表单checkbox复选框的操作例子(全选,反选,获取选取值)
    php curl 获取 邮箱通讯录 sohu
    xdebug 显示数组深度 netbeans配置Xdebug
    期末考试总结
    Win32 Application和Win32 Console Application的区别(转载)
    《大师的智慧::十五位杰出电脑科学家们的生平与发现》读书笔记(未完)
  • 原文地址:https://www.cnblogs.com/chen991126/p/14136677.html
Copyright © 2011-2022 走看看