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

网页制作与设计软件百度提升优化

网页制作与设计软件,百度提升优化,农村网站建设的意义,泉州模板建站软件文章目录 一、项目背景二、需求分析1.核心概念2.BrokerServer核心组件3.核心API4.交换机类型5.持久化6.网络通信7.消息应答 三、消息队列模块划分 一、项目背景 什么是消息队列? 消息队列就是,基于阻塞队列,封装成一个独立的服务器程序&#…

文章目录

    • 一、项目背景
    • 二、需求分析
      • 1.核心概念
      • 2.BrokerServer核心组件
      • 3.核心API
      • 4.交换机类型
      • 5.持久化
      • 6.网络通信
      • 7.消息应答
    • 三、消息队列模块划分

一、项目背景

什么是消息队列?
消息队列就是,基于阻塞队列,封装成一个独立的服务器程序,实现跨主机使用生产者-消费者模型。生产者生产消息到消息队列,消费者从消息队列消费数据。

二、需求分析

1.核心概念

  • 生产者(Producer):生产消息的客户端
  • 消费者 (Consumer) :消费消息的客户端
  • 中间人 (Broker):消息队列服务器
  • 发布 (Publish):生产者发送消息给中间人
  • 订阅 (Subscribe) :要消费消息的消费者
  • 消费 (Consume):消费者从中间人读取消息

在这里插入图片描述在这里插入图片描述

Producer Client:生产者客户端
Broker Server:消息队列服务器
Consumer Client:消费者客户端
Publish Message:生产消息
Subscribe Messge:订阅消息

2.BrokerServer核心组件

  • 虚拟主机(VirtualHost):类似于MySQL的dataBase,用来区分不同组的业务。
  • 交换机(Exchange):生产者发送消息给BrokerServer,实际上是给某个交换机发送消息,交换机再把消息转发给队列。
  • 队列(Queue):存储消息
  • 绑定(Binding):交换机和队列之间的绑定关系(多对多)
  • 消息(Message):传递的内容

3.核心API

  • 创建交换机(exchangeDeclare)
  • 删除交换机(exchangeDelete)
  • 创建队列(queueDeclare)
  • 删除队列(queueDelete)
  • 创建绑定(queueBind)
  • 删除绑定(queueUnbind)
  • 发布消息(basicPublish)
  • 订阅消息(basicConsume)

注意,消费者得到服务器中的消息有两种方式:
一种是消费者主动从服务器中取。
一种是服务器推送消息给消费者。这里的订阅消息,只支持服务器推送消息给消费者。

  • 确认消息(basicAck)

消费者主动告诉消息队列已经收到消息了。(成功确认)

4.交换机类型

  • 直接交换机 (Direct Exchange)
    根据队列名查找队列,如果存在,转发消息;不存在,就把消息丢弃。
  • 扇出交换机(Fanout Exchange)
    转发消息至该交换机绑定的所有队列。
  • 主题交换机(Topic Exchange)
    交换机和队列绑定的时候,绑定关系中带有一个bindingKey(上联)。发送消息的时候,消息带有一个routingKey(下联)。在该交换机绑定的所有队列中查找,如果routingKey和bindingKey对上的话,就转发给该队列。没有,就丢弃消息。
    在这里插入图片描述
    在这里插入图片描述

5.持久化

当服务器重启后,内存的数据都会丢失。这个时候,需要通过持久化来保证数据不丢失。通过将数据保存到硬盘上来实现持久化。

  • 交换机、队列、绑定通过数据库来管理
  • 消息通过二进制的格式保存到文件中,重启后,从文件中读取数据到内存。
    (序列化/反序列化)

6.网络通信

生产者和消费者都是客户端,需要通过网络与服务器进行交互。这里的通信协议是基于TCP的自定义应用层协议。

在网络通信过程中,客户端要提供对应API,通过调用这个API来远程调用服务器的API,实现对服务器的操作。

客户端这边除了对应服务器的方法外,还需要实现其他的方法。

  • 创建Connection(newConnection)
  • 销毁Connection(close)

一个Connetion对象视作一次TCP连接。

  • 创建Channel (createChannel)
  • 销毁Channel(close)

Channel是一次逻辑上的连接。一个Connection里包含多个Channel。连接/断开TCP的成本太高。但是客户端和服务器的交互业务很多,所以通过多个Channel,传输不同的数据(channel之间互不相干),达到复用TCP的效果。

7.消息应答

  • 服务器推送消息给消费者的时候,自动确认。
  • 消费者手动调用basicAck这个方法。

三、消息队列模块划分

在这里插入图片描述

http://www.15wanjia.com/news/28690.html

相关文章:

  • 做影视网站犯法吗一个平台怎么推广
  • 知末网室内设计效果图太原关键词优化报价
  • 万网云虚拟主机上传网站网站关键词优化推广
  • 福田企业网站优化哪个好中国纪检监察报
  • 河南专业做网站教育培训网
  • wordpress 无广告视频网站如何用模板建站
  • 泰州网站建设费用seo怎么优化武汉厂商
  • 吴江区住房与建设局网站乐陵seo外包
  • 做网站要固定ip长沙seo关键词
  • 商城网站建设基础设计百度企业
  • wordpress网站底部版权代码百度竞价个人开户
  • sap.net怎么做网站icp备案查询
  • 机械加工外协网站营业推广名词解释
  • 网站建设导航栏设计系列推广软文范例
  • win7做网站服务器竞价点击软件排名
  • 在日本网站做推广渠道网站推广多少钱
  • 技术支持 洛阳网站建设百度官网认证
  • 个人网站建设方案书实例网站推广费用一般多少钱
  • 外包网易测试沙洋县seo优化排名价格
  • 网站内文章外链如何做广东最新消息
  • 做网站开发考什么研商业推广软文范例
  • 手机做的兼职网站设计快速排名生客seo
  • 网站添加客服代码性价比高的seo网站优化
  • 图书馆网站建设方案绍兴网站快速排名优化
  • 专业的建设机械网站制作最新新闻热点事件2023
  • 嘉兴企业网站建设系统上海seo怎么优化
  • 藁城 网站网站宣传方法
  • 网站建设需要哪些东西优化网站排名茂名厂商
  • 网站logo在哪里修改网络营销环境分析主要包括
  • 海口做网站的公司如何在百度上打广告