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

教你做吃的网站外贸推广公司

教你做吃的网站,外贸推广公司,新竹自助网站,WordPress仪表板主题前言关于消息中间件的应用场景#xff0c;小伙伴们应该都耳熟能详了吧#xff0c;比如经常提到的削峰填谷、分布式事务、异步业务处理、大数据分析等等#xff0c;分布式消息队列成为其中比较关键的桥梁#xff0c;也就意味着小伙伴们得掌握相关技能#xff1b;当下相对比… 前言关于消息中间件的应用场景小伙伴们应该都耳熟能详了吧比如经常提到的削峰填谷、分布式事务、异步业务处理、大数据分析等等分布式消息队列成为其中比较关键的桥梁也就意味着小伙伴们得掌握相关技能当下相对比较热门的消息中间件有RabbitMQ、Kafaka、RocketMQ、ActiveMQ等在实际应用场景中发现很多小伙伴和我一样都是跟着相关框架(CAP、Masstransit等)文档进行使用实现功能并没有关注消息队列相关知识点总感觉缺少点精髓所以想着就以RabbitMQ为着手点一起学习学习相关细节。正文1. 简介1.1 RabbitMQ 概要RabbitMQ是基于Erlang语言开发的开源消息中间件比较轻量级广泛应用于分布式系统中存储消息、转发消息具有高可用高可扩性易用性等特征。RabbitMQ支持多种消息传递协议默认采用的是AMQP协议通过插件扩展的方式可以支持STOMP、MQTT、RabbitMQ Stream协议。AMQP协议简单理解AMQP(全称Advanced Message Queuing Protocol-是高级消息队列协议) 是一个提供统一消息服务的应用层标准高级消息队列协议是一种二进制协议基于此协议的客户端与消息中间件可传递消息并不受客户端/中间件不同产品、不同的开发语言等条件的限制。核心组成部分RabbitMQ基于AMQP实现主要组成部分及流程如下上图简介生产者负责将消息投递到服务器中消费者负责订阅接收消息然后进行对应的业务处理。经过的核心组成部分如下生产者(Producer) 负责产生消息并将消息发送到服务器上消费者(Consumer) 负责消息的消费即订阅消息然后处理相关的业务逻辑Message :消息服务与应用程序之间传送的数据由一些属性和消息体组成通过属性可以设置消息的优先级延迟等高级特性服务器(Server) 又称Broker ,接受客户端的连接。保证消息能够按照指定的方式进行传输连接(Connection) 应用程序与Broker的网络连接TCP-IP/ 三次握手和四次挥手Channel虚拟连接它是基于Connection连接建立的几乎所有的操作都在Channel中进行Channel是进行消息读写的通道客户端可以建立多个Channel每个Channel代表一个会话任务Virtual Host 虚拟地址用于进行逻辑隔离一个虚拟主机可以有若干个Exchange和Queue同一个虚拟主机里面不能有相同名字的Exchange交换机(Exchange) 接受消息根据路由键投递消息到绑定的队列本身不具备消息存储的能力BindingsExchange和Queue之间的虚拟关系Binding中可以有多个routing keyRouting key是一个路由规则虚拟机可以用它来确定如何路由一个特定消息队列(Queue) 也称为消息队列(Message Queue)主要功能是保存消息并将其转发给消费者具体详细小伙伴可以看看官网(https://www.rabbitmq.com/)接下来我们就开始安装然后先上手玩玩。2. 安装及界面简介2.1 安装按照传统方式安装需要进行Erlang语言环境安装、配置用户为了方便这里还是用我最喜欢(偷懒)的Docker方式安装关于Docker相关系列的教程点击《Docker系列》看详细内容。这里演示还是使用阿里云服务器完成Docker环境安装之后直接执行如下命令即可完成RabbitMq的安装docker run -di --name RabbitDemo -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management命令简介-d指定后台启动容器--name指定容器名称为RabbtiDemo-e: 指定环境变量设置RabbitMQ的用户名和密码-p: 主机端口和容器端口的映射端口简介5672RabbitMQ的通讯端口15672RabbitMQ HTTP API的端口启动Management插件可查看和管理RabbitMQ相关信息。25672RabbitMQ节点间的CLI通讯端口1883、8883MQTT插件启动时的端口。61613、61614STOMP客户端插件启用时的端口。15674、15675基于Websocket的STOMP端口和MOTT端口我们主要是来说说RabbitMQ默认的协议AMQP所以这里只关注5672、15672、25672即可。如果小伙伴也是用云服务器则需要对应的端口添加到安全组和防火墙中。通过docker ps 命令查看容器运行正常之后就可以通过浏览器访问RabbitMQ的管理页面如下输入安装时设置的用户名和密码就可以登录到管理主界面了。2.2 界面初识首页概览首页会展示一些整体信息包括消息、节点等相关信息。连接(Connections)情况对于Connections和Channels而言默认安装完是没有的这里为了展示全一点的信息搞了个客户端连上在后续的代码实战中我们会好好仔细说说。点击队列名称可以进入连接详情如果对应的用户有权限可以强制关掉对应的连接。Channels情况Channel是基于Connection的一个Connection中可以创建多个Channel提高传输效率。交换机(Exchangs)管理交换机主要用来进行转发消息可以只设置模式将消息投递到队列中。里面的具体参数信息后续会在实际演示情况的时候一一说到。队列(Queues)管理队列就是为存储消息并将其转发给消费者。点击队列进入详情页面可以绑定交换机等操作如下用户/权限/虚拟主机(Virtual Host)等管理用户管理针对不同的使用场景添加不同的用户并设置对应的权限。Virtual Hosts管理Virtual Hosts的主要目的就是隔离、分类可以理解为电脑文件夹不同的文件进行归类存放到对应的文件夹中还可以对其进行设置相关的权限这样就可以让不同的用户访问到不同的队列、交换机互不影响。创建好的虚拟主机点击名字进详情还能配置对应的权限。FeatureFlags、Policies、Limits、Cluster是一些信息显示和额外配置这里先不截图后续用到的时候再细说。2.3 角色分类细说关于用户角色RabbitMQ已经内置了几个在创建用户时可以进行选择如下图为了演示方便针对每种角色创建对应的用户如下每个角色对应的权限说明如下Admin(Administrator)最高管理权限可以查看所有信息并进行相关资源的管理如创建和删除Virtual Host、创建和删除用户、创建permmission、关闭所有用户的连接。上面的截图就是管理员的操作界面这里就不重复截图了。Monitoring可登陆管理控制台同时可以查看rabbitmq节点的相关信息(进程数内存使用情况磁盘使用情况等)可以管理对应的交换机和队列。在管理页面只能查看策略其他不能查看和管理其实Limits也不能配置提示不是管理员权限Policymaker可登陆管理控制台,但无法查看节点的相关信息主要是进行策略的管理同时也可以管理自己的交换机、队列Management可登陆管理控制台无法看到节点相关的信息能管理自己相关的交换机、队列等无法对策略进行管理其实可以理解为针对个人管理的权限。Impersonator模拟角色无法登陆管理控制台None不设置角色无法登陆管理控制台通常就是普通的生产者和消费者最后汇总为一张图权限从低到高如下3. 命令行工具如果没有安装管理界面插件或者说不喜欢用界面操作也是可以用命令行工具完成界面的上相关操作的。RabbitMQ提供了如下命令行工具rabbitmqctl:用于服务管理和一般操作员任务rabbitmq-diagnostics:用于诊断和健康检查rabbitmq-plugins:用于插件管理rabbitmq-queues:用于队列上的维护任务特别是仲裁队列rabbitmq-upgrade:用于与升级相关的维护任务这里是将RabbitMQ以容器的方式启动所以进入容器可执行命令以rabbitmqctl为例演示增加用户执行如下命令rabbitmqctl add_user codezyq zyq123456新增成功但还没设置权限通过界面也可以看到没有设置对应的权限设置权限如下rabbitmqctl set_user_tags codezyq administrator执行命令很简单上面只是演示命令行工具功能可以实现管理界面的相关功能小伙伴根据需要执行相关命令即可。命令的功能解释进入官网有详解https://www.rabbitmq.com/rabbitmqctl.8.html总结关于RabbitMQ安装和理论先说这么多减少一些概念、名词的纠结。控制篇幅小伙伴们上WC的时间就能看完~~~下一篇聊聊交换机的各种模式一起通过界面和代码的方式进行实践。关注“Code综艺圈”和我一起学习吧。
http://www.yutouwan.com/news/169775/

相关文章:

  • 规范网站建设的通知成都软件开发公司排名
  • 网站建设外包名词解释成品网站是什么意思
  • 国外交互设计网站欣赏html网页设计代码作业正能量
  • 网站欧美风格免费解析网站制作
  • 宁波高等级公路建设指挥部网站wordpress关闭评论审核
  • 佛山网站制作哪家好吉林省建设厅网站二建管理系统
  • wordpress能做多大的站网站只做1单生意被罚4万两级违法
  • 做企业网站的意义网页设计师招聘条件
  • 河北建设厅网站没有注册怎么做网站设计
  • 网站建设费算办公费吗网站制作手机
  • 信誉好的手机网站建设网站 备案已注销
  • 给公司做门户网站什么是网站的后台
  • 专门做中式的设计网站外贸公司怎么注册
  • 营口网站开发免费优化
  • 吉林省电力建设总公司网站3d房屋建筑设计软件
  • 自然人做音频网站违法吗做破解的网站
  • 天津国际工程建设监理公司网站网站开发的毕设开题报告
  • 虚拟服务器和如何创建网站中国建设学会查询网站
  • 免费装饰公司网站模板网络运营专业
  • 特产网站建设的目的线上设计师接单
  • 单位做网站注意什么动态和静态网站的区别
  • 免费网站怎么做排名三里屯网站建设公司
  • 绵阳市城市建设档案馆网站怎样做代刷网站长
  • js网站源码已到期高清品牌网站设计建设
  • 旅游做攻略网站好品牌网站建设有哪些方面
  • 网站设计与维护专业网站开发哪里有
  • 建设网站合同文档为网站营销好处
  • 郑州云拓网站建设公司怎么在百度做宣传广告
  • 鞍山网站制作推广房屋装饰
  • 网站优化内容有哪些做旅游网站的目的和意义