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

政务大厅网站建设管理制度快速开发小程序公司

政务大厅网站建设管理制度,快速开发小程序公司,南通网站建设方案开发,免费杂志模板文章目录 一、mall开源项目1.1 来源1.2 项目转移1.3 项目克隆 二、RabbitMQ 消息中间件2.1 rabbit简介2.2 分布式后端项目的使用流程2.3 分布式后端项目的使用场景 三、安装RabbitMQ(Win10)3.1安装erLang语言#xff0c;配置环境变量3.2 安装RabbitMQ服务端3.3 测试安装效果 四… 文章目录 一、mall开源项目1.1 来源1.2 项目转移1.3 项目克隆 二、RabbitMQ 消息中间件2.1 rabbit简介2.2 分布式后端项目的使用流程2.3 分布式后端项目的使用场景 三、安装RabbitMQ(Win10)3.1安装erLang语言配置环境变量3.2 安装RabbitMQ服务端3.3 测试安装效果 四、源码解析4.1 集成与配置4.1.1 导入依赖4.1.2 添加配置4.1.3 创建用户密码绑定角色(在命令行下)4.1.4 创建用户密码绑定角色(在web界面管理工具下)4.1.5 拓展 4.2 深入浅出4.2.1 六种消息模式介绍4.2.2 简单工作队列模式4.2.3 工作队列模式4.2.4 发布订阅模式4.2.5 路由模式4.2.5 主题模式 五、总结 一、mall开源项目 1.1 来源 mall学习教程架构、业务、技术要点全方位解析。mall项目50kstar是一套电商系统使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术采用Docker容器化部署。 项目github地址: github.com 1.2 项目转移 可以把github上的项目转移到gitee上方便克隆到idea。 具体步骤如下 1.3 项目克隆 由于github部署在国外虽然idea也支持从github上拉取但是克隆速度太慢所以才推荐上述导入gitee后在克隆项目到idea。 具体的克隆步骤过于简单和常规化读者可自行完成或百度一下~ 二、RabbitMQ 消息中间件 RabbitMQ 消息的传递是由『 生产者 - 交换机 - 队列 - 消费者 』这么一个模式只不过点对点模式和工作队列模式我们可以理解成是一个匿名的交换机进行投递队列。 2.1 rabbit简介 RabbitMQ 官网官网 RabbitMQ是一个消息代理 - 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台并且保证消息在传输过程中的安全。 RabbitMQ是一款使用Erlang语言开发的实现AMQP(高级消息队列协议)的开源消息中间件。首先要知道一些RabbitMQ的特点如下 可靠性。支持持久化传输确认发布确认等保证了MQ的可靠性。灵活的分发消息策略。这应该是RabbitMQ的一大特点。在消息进入MQ前由Exchange(交换机)进行路由消息。分发消息策略有简单模式、工作队列模式、发布订阅模式、路由模式、通配符模式。支持集群。多台RabbitMQ服务器可以组成一个集群形成一个逻辑Broker。多种协议。RabbitMQ支持多种消息队列协议比如 STOMP、MQTT 等等。支持多种语言客户端。RabbitMQ几乎支持所有常用编程语言包括 Java、.NET、Ruby 等等。可视化管理界面。RabbitMQ提供了一个易用的用户界面使得用户可以监控和管理消息 Broker。插件机制。RabbitMQ提供了许多插件可以通过插件进行扩展也可以编写自己的插件。 rabbit开发文档地址 [java客户端开发文档]( Java客户端指南 · RabbitMQ in Chinese (mr-ping.com) ) 2.2 分布式后端项目的使用流程 下图是结合项目经历外加百度查找资料自行总结的基本使用流程。 rabbitmq的使用流程图如下 2.3 分布式后端项目的使用场景 下图是结合项目经历外加百度查找资料自行总结的基本使用场景。 rabbitmq的使用场景图如下 三、安装RabbitMQ(Win10) 由于以前都是在Linux上操作rabbitmq 一般用Docker拉一个RabbitMQ的镜像下来省去环境的部署 现在解读源码尝试一下在win10下操作需要先有环境 首先先下载Erlang 再下载RabbitMQ服务端。 ps RabbitMQ和Erlang是紧密相关的因此在选择RabbitMQ版本时需要确保它与您安装的特定Erlang版本兼容。 Erlang/OTP 26.0.2与之兼容版本是RabbitMQ 3.8.x 或者 更高 ❌写到后面我憨住了早知道不选这么高的版本了 经过安装好两个版本后忘记看项目中 spring-boot-starter-amqp版本为2.1.3作为RabbitMQ客户端库结果版本不兼容导致一直连不上网上百度一堆问题我都仔细刷选过了都是正确的。后面只能把问题定位到版本不兼容上了然后说退而求其次去升级spring-boot-starter-amqp版本为2.3.x就可以完美解决没想到的是… 阿里云仓库太坑了居然没有。。。 Could not find artifact org.springframework.boot:spring-boot-starter-amqp:pom:2.3.3 in alimaven 然后百度找了许多教程说改范围的还有换镜像的结果都试了一下结果这个找不到就算了其它的依赖也全报错应该是仓库的依赖冲突啥的就不深究了。。。 ✒️还是跟着项目走将 Erlang 和RabbitMQ服务端版本降下来。 spring-boot-starter-amqp的版本为2.1.3 是与 RabbitMQ 3.7.x 版本兼容的版本 这里下载RabbitMQ服务端rabbitmq-server-3.7.3.exe。 对应的Erlang 版本在19.3 - 20.x记住一定要卸载干净版本一定要兼容不然安装插件会报版本不兼容的错误 下面截图就不更新了没啥必要只是版本号不同操作几乎大同小异。最终是连接上了确实是版本不兼容的问题真是各处坑都踩完…… 3.1安装erLang语言配置环境变量 1、先到官网下载Erlang官网官网下载win10版 2、下载完成为otp_win64_26.0.exe接着双击安装一直点next就行了可以切换安装路径安装完之后配置环境变量。 3、 环境变量配置完毕使用cmd命令输入erl -version验证是否成功。 成功截图类似下图 3.2 安装RabbitMQ服务端 1、在RabbitMQ的github上下载window版本的服务端安装包。 下载地址Release RabbitMQ 3.8.32 · rabbitmq/rabbitmq-server (github.com) ) 2、下载为rabbitmq_server-3.8.32.exe接着到双击安装一直点下一步安装即可可以切换安装路径安装完成后找到安装目录下\rabbitmq\rabbitmq_server-3.8.32\sbin 打开cmd命令输入rabbitmq-plugins enable rabbitmq_management命令安装管理页面的插件。 3、 双击rabbitmq-server.bat启动脚本然后打开服务管理可以看到RabbitMQs是否正在运行。(降低版本后没有注册到服务上需要启动脚本不要关闭命令行窗口使得服务在其上跑着) 3.3 测试安装效果 1、 打开浏览器输入http://localhost:15672 账号密码默认是guest/guest成功效果 2、安装成功登录后的效果如下图。 四、源码解析 看源码自我总结出来的看新项目时的基本步骤首先先看集成和配置在从业务的角度来分析结合集成的框架和组件来依次剥削系统的架构。 **解析内容**下方的解析内容大部分在图中解释外面就不做过多的阐述。 4.1 集成与配置 直接拿源码分析只分析与rabbitmq有关的部分其它部分读者请自行看源码分析。 **项目启动**只需要启动mall-tiny-rabbit模块的部分即可。 **启动所需**启动RabbitMQ的服务(前面有安装win10版) 4.1.1 导入依赖 在pom文件中导入rabbitmq的相关依赖spring-boot-starter-amqprabbitmq集成进springboot。 4.1.2 添加配置 在application.yml中添加rabbitmq的相关配置。 4.1.3 创建用户密码绑定角色(在命令行下) rabbitmq的用户管理包括增加用户删除用户查看用户列表修改用户密码。 1、 查看已有用户及用户的角色 rabbitmqctl.bat list_users2、 新增一个用户 // rabbitmqctl.bat add_user username password rabbitmqctl.bat add_user mall mall3、删除一个用户 // 注意观察查询、添加、删除都是只换前缀更新亦然就不列举了 rabbitmqctl.bat delete_user mall4、绑定角色 rabbitmqctl.bat set_user_tags mall administrator4.1.4 创建用户密码绑定角色(在web界面管理工具下) 1、介绍web界面管理工具页 2、 添加用户和给予角色 3、由于yml文件中配置有virtual-host: /mall 添加Virtual Hosts可以理解成一个数据库类似于mysql、oracle之类的 4.1.5 拓展 rabbitmq用户角色可分为五类超级管理员, 监控者, 策略制定者, 普通管理者以及其他。 (1) 超级管理员(administrator) 可登陆管理控制台(启用management plugin的情况下)可查看所有的信息并且可以对用户策略(policy)进行操作。 (2) 监控者(monitoring) 可登陆管理控制台(启用management plugin的情况下)同时可以查看rabbitmq节点的相关信息(进程数内存使用情况磁盘使用情况等) (3) 策略制定者(policymaker) 可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。 (4) 普通管理者(management) 仅可登陆管理控制台(启用management plugin的情况下)无法看到节点信息也无法对策略进行管理。 (5) 其他的 无法登陆管理控制台通常就是普通的生产者和消费者。 4.2 深入浅出 4.2.1 六种消息模式介绍 六种消息模式的官网RabbitMQ Tutorials — RabbitMQ Simple Work Queue简单工作队列也就是常说的点对点模式一条消息由一个消费者进行消费。当有多个消费者时默认使用轮训机制把消息分配给消费者。Work Queues 工作队列也叫公平队列能者多劳的消息队列模型。队列必须接收到来自消费者的 手动ack 才可以继续往消费者发送消息。Publish/Subscribe 发布订阅模式一条消息被多个消费者消费。Routing路由模式有选择的接收消息。Topics主题模式通过一定的规则来选择性的接收消息。RPC 模式发布者发布消息并且通过 RPC 方式等待结果。使用场景少在源码中没有想了解的可以去官网了解 ps官网最后有一个 Publisher Confirms 为消息确认机制。指的是生产者如何发送可靠的消息。 4.2.2 简单工作队列模式 一条消息由一个消费者进行消费 当有多个消费者时默认使用轮训机制把消息分配给消费者 1、 配置类 配置 RabbitMQ 的 Spring 配置类 SimpleRabbitConfig其中创建了一个消息队列对象、一个发送消息的对象SimpleSender以及一个接收消息的对象SimpleReceiver。这些对象都将由 Spring 框架进行管理和注入。 2、消息发送者 3、消息消费者 4、简单工作队列模式的控制层接口 5、swagger发送效果 swagger无法启动的请参考我上一篇博文 mallredis项目源码解析_忆~遂愿的博客-CSDN博客 6、rabbitmq服务端的界面显示效果 7、idea控制台打印的日志信息 4.2.3 工作队列模式 公平队列能者多劳的消息队列模型。队列必须接收到来自消费者的 手动ack 才可以继续往消费者发送消息。模拟消费 1、 定义了一些消息队列以及相应的消息接收器和发送器 2、消息发送者 3、消息消费者 4、工作队列模式的控制层接口 5、idea控制台打印的日志信息 4.2.4 发布订阅模式 一条消息被多个消费者消费。 1、配置类 2、消息发送者 3、消息消费者 4、发布/订阅模式的控制层接口 5、rabbitmq服务端的界面显示效果 6、idea控制台打印的日志信息 4.2.5 路由模式 有选择的接收消息。 1、配置类 通过配置不同的绑定键可以将不同的队列绑定到同一个交换机上以实现消息的路由和分发。 2、消息发送者 3、消息消费者 4、路由模式的控制层接口 5、idea控制台打印的日志信息 4.2.5 主题模式 通过一定的规则来选择性的接收消息。 1、配置类 2、消息发送者 3、消息消费者 4、路由模式的控制层接口 5、idea控制台打印的日志信息 五、总结 本文是有我先从实际项目中获取需求从而对RabbitMQ消息队列的学习结合源码来学习从mall开源项目中学习RabbitMQ感觉收获颇深希望这篇文章对你们也会有所帮助。 后续我也会结合该框架学习一下其他的技术栈。 盈若安好便是晴天
http://www.tj-hxxt.cn/news/141325.html

相关文章:

  • 公司注册信息查询重庆seo搜索引擎优化平台
  • 如何做招聘网站的评估做网站能注册账号的
  • 网站建设 万户建站跨境浏览网站
  • app那个网站开发比较好阿里巴巴网页设计教程
  • 网络推广 网站制作电影网站源码系统
  • 微信开发网站建设西安公司最新招聘信息
  • wordpress网站跳转nginx国外酷炫网站
  • 备案 网站建设方案书怎么写qq群引流推广平台免费
  • 建怎么网站比较赚钱高端礼品定制网站
  • 怎么自己做五合一网站wordpress文字
  • 哪家网站建设公司好网站建设市场价
  • 永川区做网站WordPress微信签到
  • 网站空间不能读数据库搜索引擎关键词广告
  • 试剂网站建设淘客帝国 wordpress
  • 网站框架设计图wordpress照片exif
  • php网站有点哪个网站专门做母婴
  • 小学教育网站专题模板WordPress页面生成时间
  • 江西科技学校网站建设wordpress 手机端分开
  • 营销型门户网站有哪些做平面设计好的网站有哪些
  • 佛山网站优化有it运维发展方向
  • 怎么在网站做外部链接成都 网站原创
  • 大理装饰公司做网站vps wordpress
  • 网站开发硬件配置苏州手机网站建设报价
  • seo证书考试网站个人直播网站怎么做
  • 企业网站开发价格成都最专业做网站的
  • 盘锦市建设局网站地址网站地图建设有什么用
  • 网站建设流程总结编程app用什么软件
  • 关于美食的网站设计网络管理系统的配置管理最主要的功能是
  • 广西网站建设价格低宁波网站建设公司制作网站
  • 动易 网站顶部导航 sitefactory长沙竞价网站建设价格