上篇文章了解了什么是中间件。了解了消息中间件,本来应该从开源的mq开始学习,但是时间紧凑,直接从公司的mq开搞!

中间件mq

公司提供了mq服务。因此mq服务不用我们下载软件手动安装了。我们直接使用mq服务即可。

首先先了解一下一些基本的产品名词

基础概念相关名词

生产者producer:消息的发送端。向broker发送消息的端

消费者consumer:消息的订阅端。从broker订阅消息的端

broker:mq消息中间件的服务端实例,就是消息中间件服务本身

消息体message:业务方通过mq服务传递的消息内容。在发送时客户端会对消息进行压缩

主题topic:代表一种消息类型,是全局惟一的。

队列:队列是存储消息的一种数据结构,四最基本的消息服务单元。先进先出。

队列数:mq服务在创建主题之后,默认会给该主题在每个broker上分配n个队列。每个队列内的消息先进先出。

连接数:客户端与服务端的连接数。

分片:每个分片包含一主一从两个broker实例,主从自动同步,八保存一份相同的数据

消息类型相关名词

普通消息:生产者发送一条消息后,具有订阅关系的所有消费者的某一个实例能够消费该消息。

普通顺序消息、严格顺序消息:生产者发送一系列消息后,消费端严格按照发送的顺序进行消费

广播消息:生产者发送一条消息后,具有订阅关系的所有消费者的所有实例都能够消费该消息

事务消息:生产者发送一条消息后,可以控制是否提交,是否回滚

功能特性相关名词

积压:消费端处理不过来入队数所导致的消息堆积。积压数=入队数-出队数。消息的消费速度小于消息的生产速度

重试:消费失败后,消息会被重试。

批量消费:消费端对队列中的消息进行批量消费。队列中的消息被拉取后,队列会被锁。这样就导致了消费的并发受队列数的限制

延迟消费:broker服务端收到消息延迟一段时间才允许消费端进行消费。

并行消费:正常的消费因为队列被锁,所以并发性不高。通过增加消费窗口,来提高拉取消息的策略为并行消费

归档:消息被成功消费后,若开启归档,消息将异步归档到云存储。

就近发送:生产消息时,生产端的消息会优先发送给与客户端同机房的broker

消息模型

一般消息中间件的消息模型是“发布--订阅模型“””

主题是一组同样消息的集合,是发布和订阅消息的基本单位

生产者是生产并发送消息的应用程序,消费者是接收并消费消息的应用程序

接入mq的客户端无论是生产者还是消费者都需要先订阅主题,订阅主题后才有权限对主题生产消息或消费消息

通常一个主题包含多个mq分片(一个分片包含一主一从两个broker,主broker用于收发消息,从broker用于备份数据)

用户实例

其实就是生产者和消费者。一个主题下面可以有多个生产者实例,每个实例都可以向主题的所有队列发送消息,但消息仅能被发送到一个队列。

消费者也可以包含多个实例,每个实例都可以从主题的所有队列接收消息,但一个消息仅能被消费一次

高可用

一般公司自己内部封装的mq都不是一个单点服务,一般都是高可用集群。高可用的体现,一个主题下的消息通常都分布在多个broker上。并且每个broker都是采用一主一从的架构。这样即使一主坏了,一从也可以进行数据的接收和消费。

高可靠

一般的mq服务,都能保证消息的不丢失。。。。。

消息的有序性

消息的有序性是通过主题保证的。

一般普通主题不能保证消息顺序。

顺序主题能保证消息有序。

归档

当主题开启归档时,mq尽可能将数据写入归档数据。但是归档的优先级低于mq收发消息的优先级

了解完mq知识之后,由于已经有现成的mq高可用高可靠的集群服务了。因此我们并不负责整个mq集群的搭建,只需使用现成的mq服务即可。一般大厂都是术业有专攻,运维会将提供中间件的服务,像mysql集群、redis集群、nginx的lvs、再到mq集群服务。我们只负责用就可以了。。。。。。。

好,接下来,学会将mq集成到服务中吧,奥利给!!!!!

接入实践

之前mysql、redis等中间件的接入都不是我接入的,这次我直接上mq,我要把它先在测试环境接入了,大厂一般像这种中间件服务都是会提供两套环境的(测试和线上)。这样能保证数据隔离,保证开发测试与预发生产的正常。

基本就是测试环境接入申请,之后编写看客户端代码即可,之后测试一下,第一阶段对自己的要求就是能完成mq的生产和消费即可。

整个接入流程我不细讲,主要就是编写生产者和消费者代码以及mq集成到代码。

编程的大致流程就是:客户端和服务端建立连接、生产者向主题发送消息、消费者从主题消费消息

朝着先能干活的方向努力。。。奥利给!!!06相关推荐

  1. 朝着先能干活的方向努力。。。奥利给!!!20

    HAHHAHHHAH ,哈哈哈哈哈哈哈哈哈,redis的5种基本类型string字符串.list列表.set集合.hash哈希类型 .zset有序集合... 这里我们key-value.可以看出red ...

  2. 万互技术浅谈为什么完美的芭比,非要朝着不完美的方向努力?

    相信在大多数人眼中,芭比的形象是这样的:时尚.精致.高贵典雅,有着大大的眼睛,甜美的脸庞,光彩的倩影,以及曼妙(三围"39.18.33")的完美身材,是无数少女幻想中的自己. 事实 ...

  3. 一个技术预案,让老板当场喊出了“奥利给”

    我还是那个前浪,很多朋友说看了我的故事后觉得有点励志,在大家都处于"中年危机"."大龄程序员找不到出路"等各种焦虑的时候,我的故事像一碗鸡汤(这个说法莫名感觉很 ...

  4. 奥利给!!字体/颜色对话框这么豪横的解释,赶紧PICK一下吧!!

    上一篇文章介绍了如何创建基于对话框的模态对话框和非模态对话框.这篇文章为大家介绍一下字体对话框和颜色对话框的创建与实现. 话不多说,我们先来看一下效果图. 字体/颜色对话框 主要功能介绍 字体文本框 ...

  5. 奥利奥0糖系列全网首发;雀巢芭绮率先入驻哈尔滨;疫情后红参需求大幅上升...

    雀巢.每日优鲜.奥利奥.韩国人参公社.美国流行威士忌酩帝诗等企业最新动态. 新店开业 雀巢旗下巧克力品牌芭绮正式进入中国 雀巢宣布在哈尔滨中央大街开设意式甜品店,为广大消费者提供意大利国宝级巧克力品牌 ...

  6. 科里奥利质量流量计常见故障及故障维修

    在工业生产过程中,流量是一个非常重要的测量参数.目前测量流量的仪表类型很多,比较常见的有超声波流量计,电磁流量计,涡街流量计,浮子式流量计,孔板流量计等等,这些流量计都有一个共同的特点就是都是测量体积 ...

  7. python与我的第五天 奥利給

    字符串 1字符串是 最常用的数据类型,我们可以使用引号(' 或 " )来创建字符串. 2字符串当中常用的函数: (1) 取字符串长度 len(str) str为要获取长度的字符串 (2) 字 ...

  8. B站的“前浪” idol,为快手喊了一声“奥利给”

    我是在B站的"土味视频"中看到"奥利给",阿里的朋友前阵子频繁发我看奥利给,这位自称是"朝阳怪鸽"的快手主播,脸型和说话都像我们的一位共同朋 ...

  9. 安装科里奥利质量流量计有哪些要求

    科里奥利质量流量计流量传感器安装一般要求: 由于测量管形状及结构设计的差异,安装要求亦千差万别,因此必须按照我厂规定的安装方法和趋避禁止事项,例如有些型号流量传感器直接连接到管道上即可,有些型号却要求 ...

最新文章

  1. caffe-win10-cifar10另
  2. MySQL数据库:读写分离
  3. swiper怎么在HTML引入JS文件,Swiper.js插件超简单实现轮播图
  4. html 手机分辨率,移动端各种分辨率手机屏幕----适配方法集锦
  5. MyCat - 使用篇(5)
  6. 《神经网络与深度学习从理论到实践-邱锡鹏》笔记(持续更行ing)
  7. fullscreen (JS 简易轻量化类原生的高兼容窗口全屏控件)
  8. Visual Studio 2019 VSIX插件
  9. 东芝300D粉盒清零
  10. 全国地表径流量数据获取/植被类型数据/NPP数据/土壤侵蚀数据/土壤质地分类/降雨量栅格数据/太阳辐射量数据
  11. 在线ps,修改证件照背景色
  12. 查询用户连续登录的天数
  13. 微分方程的基本概念(通解、特解,线素场)
  14. [FastDFS] 文件路径M00是什么意思
  15. Type-C PD充电
  16. 预测学习应用于机器人之Unsupervised Learning for Physical Interaction through Video Prediction
  17. 量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲
  18. 裴蜀定理、拓展欧几里得及其证明
  19. 参考文献格式,依据 GB/T 7714-2015
  20. 聊天室类PHP源码[无名轻聊]

热门文章

  1. Windows部署Apache服务器步骤
  2. 【TUM公开数据集RGBD-Benchmark工具evaluate_rpe.py参数用法原理解读】
  3. Benefits from music
  4. python输出图片到word_python将文本转换成图片输出的方法
  5. 浙江大学 计算机学院的博士,通知 | 浙江大学第377期博士生创新论坛 暨计算机学院第十六届博士生创新论坛(秋冬)报名通知...
  6. 知乎上48个神回复,真心值得一看!
  7. serialport串口通信
  8. python中msg函数_【ROS】ROS自定义msg以及在python中的使用
  9. 【IT】计算机体系结构
  10. 自考学历和成考学历哪个更高一些 有啥区别