当前位置: 首页 > news >正文

网站建设 繁体做网站基本教程

网站建设 繁体,做网站基本教程,公司做网站需要提供什么条件,网络公司投诉归什么部门管上一节#xff0c;我们用docker-compose搭建了一个RabbitMQ集群#xff0c;这一节我们来分析一下集群的原理 一、基础概念 1.1 元数据 前面我们有介绍到 RabbitMQ 内部有各种基础构件#xff0c;包括队列、交换器、绑定、虚拟主机等#xff0c;他们组成了 AMQP 协议消息…上一节我们用docker-compose搭建了一个RabbitMQ集群这一节我们来分析一下集群的原理 一、基础概念 1.1 元数据 前面我们有介绍到 RabbitMQ 内部有各种基础构件包括队列、交换器、绑定、虚拟主机等他们组成了 AMQP 协议消息通信的基础而这些构件以元数据的形式存在它始终记录在 RabbitMQ 内部它们分别是 队列元数据队列名称和它们的属性交换器元数据交换器名称、类型和属性绑定元数据一张简单的表格展示了如何将消息路由到队列vhost 元数据为 vhost 内的队列、交换器和绑定提供命名空间和安全属性 PS元数据指的是包括队列名字属性、交换机的类型名字属性、绑定信息、vhost等基础信息不包括队列中的消息数据。 1.2 RabbitMQ 存储数据有两种方案 内存模式这种模式会将数据存储在内存当中如果服务器突然宕机重启之后那么附加在该节点上的队列和其关联的绑定都会丢失并且消费者可以重新连接集群并重新创建队列磁盘模式这种模式会将数据存储磁盘当中如果服务器突然宕机重启数据会自动恢复该队列又可以进行传输数据了并且在恢复故障磁盘节点之前不能在其它节点上让消费者重新连到集群并重新创建队列如果消费者继续在其它节点上声明该队列会得到一个 404 NOT_FOUND 错误这样确保了当故障节点恢复后加入集群该节点上的队列消息不会丢失也避免了队列会在一个节点以上出现冗余的问题。 在单节点 RabbitMQ 上仅允许该节点是磁盘节点这样确保了节点发生故障或重启节点之后所有关于系统的配置与元数据信息都会从磁盘上恢复。 而在 RabbitMQ 集群上至少有一个磁盘节点也就是在集群环境中需要添加 2 台及以上的磁盘节点这样其中一台发生故障了集群仍然可以保持运行。其它节点均设置为内存节点这样会让队列和交换器声明之类的操作会更加快速元数据同步也会更加高效。 二、集群节点类型 在单个节点上RabbitMQ 存储数据有两种方案 内存模式这种模式会将数据存储在内存当中如果服务器突然宕机重启之后那么附加在该节点上的队列和其关联的绑定都会丢失并且消费者可以重新连接集群并重新创建队列磁盘模式这种模式会将数据存储磁盘当中如果服务器突然宕机重启数据会自动恢复该队列又可以进行传输数据了并且在恢复故障磁盘节点之前不能在其它节点上让消费者重新连到集群并重新创建队列如果消费者继续在其它节点上声明该队列会得到一个 404 NOT_FOUND 错误这样确保了当故障节点恢复后加入集群该节点上的队列消息不会丢失也避免了队列会在一个节点以上出现冗余的问题。 如下图所示三个节点的集群有两个磁盘模式一个内存模式 在集群中的每个节点要么是内存节点要么是磁盘节点如果是内存节点会将所有的元数据信息仅存储到内存中而磁盘节点则不仅会将所有元数据存储到内存上 还会将其持久化到磁盘。 在单节点 RabbitMQ 上仅允许该节点是磁盘节点这样确保了节点发生故障或重启节点之后所有关于系统的配置与元数据信息都会从磁盘上恢复。 而在 RabbitMQ 集群上至少有一个磁盘节点也就是在集群环境中需要添加 2 台及以上的磁盘节点这样其中一台发生故障了集群仍然可以保持运行。其它节点均设置为内存节点这样会让队列和交换器声明之类的操作会更加快速元数据同步也会更加高效。 三、集群的几种模式 集群主要有两种模式主备模式Warren和镜像模式Mirror 下面分别对两种模式进行说明 主备模式Warren 1、基本特征 交换机和队列的元数据存在于所有的节点上queue队列中的完整数据只存在于创建该队列的节点上其他节点只保存队列的元数据信息以及指向当前队列的owner node的指针 2、数据消费 进行数据消费时随机连接到一个节点当队列不是当前节点创建的时候需要有一个从创建队列的实例拉取队列数据的开销。此外由于需要固定从单实例获取数据因此会出现单实例的瓶颈。 3、优点 可以由多个节点消费单个队列的数据提高了吞吐量 4、缺点 节点实例需要拉取数据因此集群内部存在大量的数据传输可用性保障低一旦创建队列的节点宕机只有等到该节点恢复其他节点才能继续消费消息 镜像模式Mirror 1、基本特征 创建的queue不论是元数据还是完整数据都会在每一个节点上保存一份 向queue中写消息时都会自动同步到每一个节点上 2、优点 保障了集群的高可用配置方便只需要在后台配置相应的策略就可以将指定数据同步到指定的节点或者全部节点 3、缺点 性能开销较大网络带宽压力和消耗很严重所以镜像队列的吞吐量会低于主备模式无法线性扩展例如单个queue的数据量很大每台机器都要存储同样大量的数据 集群实操 集群的部署 下面的链接是最快最简单的一种集群部署方法 3分钟部署一个RabbitMQ集群 由于是docker部署所以我任意找一个节点进入集群节点 先docker ps查看运行的进程然后根据容器id进入容器 [rootlocalhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4d75d7be9cf5 bitnami/rabbitmq /opt/bitnami/script… 7 minutes ago Up 7 minutes 4369/tcp, 5551-5552/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp mycompose-queue-disc1-1 b4f7618ffdd4 bitnami/rabbitmq /opt/bitnami/script… 7 minutes ago Up 7 minutes 4369/tcp, 5551-5552/tcp, 5671-5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672-15672/tcp, :::15672-15672/tcp mycompose-stats-1 f3a97e8d74de bitnami/rabbitmq /opt/bitnami/script… 7 minutes ago Up 7 minutes 4369/tcp, 5551-5552/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp mycompose-queue-ram1-1 [rootlocalhost ~]# docker exec -it 4d /bin/bash查看集群状态 I have no name!4d75d7be9cf5:/$ rabbitmqctl cluster_status Cluster status of node rabbitqueue-disc1 ... Basics #下面是主节点名称 Cluster name: rabbit4d75d7be9cf5 #下面是磁盘节点有两个 Disk Nodesrabbitqueue-disc1 rabbitstats #下面是内存节点有一个 RAM Nodesrabbitqueue-ram1 #下面表示有三个节点在运行 Running Nodesrabbitqueue-disc1 rabbitqueue-ram1 rabbitstats # 下面是版本号 Versionsrabbitqueue-disc1: RabbitMQ 3.9.11 on Erlang 24.2 rabbitqueue-ram1: RabbitMQ 3.9.11 on Erlang 24.2 rabbitstats: RabbitMQ 3.9.11 on Erlang 24.2Maintenance statusNode: rabbitqueue-disc1, status: not under maintenance Node: rabbitqueue-ram1, status: not under maintenance Node: rabbitstats, status: not under maintenanceAlarms(none)Network Partitions(none)ListenersNode: rabbitqueue-disc1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication Node: rabbitqueue-disc1, interface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP Node: rabbitqueue-disc1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0 Node: rabbitqueue-ram1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication Node: rabbitqueue-ram1, interface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP Node: rabbitqueue-ram1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0 Node: rabbitstats, interface: [::], port: 15672, protocol: http, purpose: HTTP API Node: rabbitstats, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication Node: rabbitstats, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0Feature flagsFlag: drop_unroutable_metric, state: enabled Flag: empty_basic_get_metric, state: enabled Flag: implicit_default_bindings, state: enabled Flag: maintenance_mode_status, state: enabled Flag: quorum_queue, state: enabled Flag: stream_queue, state: enabled Flag: user_limits, state: enabled Flag: virtual_host_metadata, state: enabled 从上面可以看到有三个节点其中有两个磁盘节点一个内存节点
http://www.pierceye.com/news/676866/

相关文章:

  • 免费建网站的网站搭建价格表
  • 茶山网站仿做河池公司网站开发价格
  • 珠海网站制作推广公司哪家好做网站页面怎么做
  • 丰润网站建设怎么开网店流程
  • 电子商务网站建设的参考文献硬件开发平台是什么意思
  • 杭州做网站 做小程序自助建站免费永久
  • 软件培训网站建设鹤山市网站建设公司
  • 网站的验证码是怎么做的wordpress团购插件
  • 邯郸网站设计注册贵阳网站建设天锐科技
  • 网站建设服务费税率多少WordPress文档批量发布接口
  • 云服务器网站配置网页界面设计中一般使用的分辨率是多少
  • 网站域名销售wordpress文章入口设置
  • 上海做网站较好的公司c 做网站
  • 代发货网站系统建设螺栓球网架
  • 做书的网站有哪些内容吗电商平台定制
  • 网站建设与推广长春云电脑永久免费版手机版
  • 营销型网站建设优化建站坂田建设网站
  • 大型网站方案自己做网站详细流程
  • 网站开发中为什么有两个控制层南昌网站建设技术托管
  • 网站如何加入百度联盟易名中国网站
  • 海报在线制作免费网站网站建设费用明细湖南岚鸿
  • 宝塔服务器搭建网站教程盐城网站建设兼职
  • 南京网站制作公司怎么样wordpress思维导图
  • 学校网站建设和维护情况沈阳网页设计公司有哪些
  • 安徽网站建设电话网站建设动态静态
  • 网站建设规划设计公司排名摄影公司网站开发
  • php安防企业网站源码seo中文
  • 用什么开发和建设网站最好wordpress登录安全插件
  • 做网站哪个服务商便宜wordpress添加script
  • dede wap网站外贸客户开发的渠道有哪些