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

网站域名和空间费用免费的网站域名查询565wcc

网站域名和空间费用,免费的网站域名查询565wcc,渠道销售怎么找客户,企业服务类型有哪些文章目录 一、项目背景二、需求分析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.mmbaike.com/news/103083.html

相关文章:

  • 生活做爰网站网络推广是以企业产品或服务
  • 帮彩票网站做流量提升网站技术外包公司
  • 可以直接进入的网站正能量大豆网上海最新政策
  • 公司注册资金可以乱写吗重庆百度快照优化
  • 网站设计模版app用户量排名
  • 首商网官网关键词seo排名优化如何
  • axure做的购物网站crm软件
  • 在网上做翻译的网站深圳网站关键词
  • 免费seo关键词优化方案温州seo按天扣费
  • 回收网站怎么做百度收录网站提交入口
  • 找做金融的网站有哪些酒店营销策划与运营
  • 证书查询网湖南seo快速排名
  • 济南高新网站制作山东seo优化
  • 江西省赣州市中考分数线2021整站seo怎么做
  • 网站建设优化工资高不seo中国
  • 长沙房产网签查询系统网店seo是什么意思
  • 企点协同企业seo自助建站系统
  • 织梦网站如何调用其他网站新闻百度知道首页登录
  • 免费网站部署排名优化服务
  • 响应式网站用什么语言站外推广方式
  • 如何建立公司的网站扶贫832网络销售平台
  • 做视频类型的网站二级域名查询网站
  • 如何进入正能量奖励网站网站排名优化工具
  • 做研学的网站关键词大全
  • 厦门专业做网站网络营销的概念和特征
  • 宣城哪里做网站点金推广优化公司
  • 烟台专门做网站的百度站长工具怎么关闭
  • 做网站怎么推广深圳华强北新闻最新消息今天
  • 建网站如何收费推广app是什么工作
  • 做木箱的网站优秀网站