博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RabbitMQ~一些术语和最消息的生产
阅读量:5895 次
发布时间:2019-06-19

本文共 1573 字,大约阅读时间需要 5 分钟。

学习一种技术需要先了解它,而想要学好一种技术,需要更多的了解它的组成,原理和实现机制!

RabbitMQ安装介绍

  1. RabbitMQ是由erlang语言开发的,所以必须先有安装erlang,类似java安装
  2. RabbitMQ是C/S模式的,所以安装rabbitMQ服务器,默认端口5672
  3. 提供了Web管理界面(默认端口15672),直接通过安装插件的方式开启它

RabbitMQ的一些术语

  1. Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。
  2. Virtual Host:其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Virtual Host
  3. Producer: 消息生产者
  4. Consumer: 消息消费者
  5. Queue: 存储消息的队列容器
  6. Message: 消费者真正需要的消息数据
  7. Connection: 一个tcp连接,相对比较耗资源
  8. Channel: 一个管道连接,是tcp连接内的连接(broker),使用现有的TCP连接进行数据传输
  9. Exchange: 消息路由,生产者发送消息并不是直接发送到队列中的而是先到指定方式路由中,然后由路由根据路由key绑定的队列发送到指定队列中(某种算法求出对应的queue,如对消息取模)。
  10. Binding:对路由与队列容器的绑定关系
  11. Routing key: 路由键,主要用来寻找队列queue
  12. AMQP: 高级消息队列协议,RabbitMQ是基于此协议实现的
  13. Users: RabbitMQ服务是基于C/S模式,通常连接都需要认证,就是设置密码

一个最纯粹的消息生产者

ConnectionFactory factory = new ConnectionFactory();//创建连接工厂对象            factory.HostName = "localhost";//指定主机名            //factory.Port = 5672;//指定端口号            //factory.VirtualHost = "amqp://localhost:5672";//指定RabbitMQ服务器的虚拟主机            //factory.UserName = "";//指定连接用户名            //factory.Password = "";//指定连接用户密码            var conn = factory.CreateConnection();//创建连接            var channel = conn.CreateModel();//建立管道            channel.QueueDeclare("lind", false, false, false, null);            channel.BasicPublish(                 exchange: "",                 routingKey: "lind",                 basicProperties: null,                 body: Encoding.UTF8.GetBytes("Hello Lind!"));

上面代码是一个主机为localhost的rabbitmq服务器的lind队列发送一条消息,内容为Hello Lind!

通过web管理可以看到内容

感谢各位对消息中间件的支持,下一讲我们将介绍如何去消费消息!

转载于:https://www.cnblogs.com/lori/p/6472294.html

你可能感兴趣的文章
解决linux环境下qt groupbox 边框不显示问题
查看>>
剑指offer第三天
查看>>
针对Excel表格文件操作的编程实现
查看>>
自动化测试框架中关于selenium api的二次封装
查看>>
day1
查看>>
paloalto防火墙的优势
查看>>
shell命令之---正则表达式
查看>>
ERDAS文件格式:IGE、IMG、RRD、AUX
查看>>
GET和POST的区别
查看>>
unity小地图制作___按比例尺图标布局
查看>>
Ubuntu git upgrade(reprint)
查看>>
中文词频统计
查看>>
hadoop1中hdfs原理详解
查看>>
.net c#控件 Invalidate、Update、Refresh的区别
查看>>
如何实现团队的自组织管理
查看>>
python面向对象
查看>>
POJ 1251 + HDU 1301 Jungle Roads 【最小生成树】
查看>>
PHP函数
查看>>
VSS虚拟交换系统
查看>>
DNS原理总结及其解析过程详解
查看>>