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

专门做商标的网站有哪些微网站样式

专门做商标的网站有哪些,微网站样式,河间申梦网站建设制作,郑州商标设计公司前言 RabbitMQ 是在 AMQP#xff08;Advanced Message Queuing Protocol#xff09; 协议标准基础上完整的#xff0c;可复用的企业消息系统。它遵循 Mozilla Public License 开源协议#xff0c;采用 Erlang 实现的工业级的消息队列(MQ)服务器#xff0c;建立在 Erlang …前言 RabbitMQ 是在 AMQPAdvanced Message Queuing Protocol 协议标准基础上完整的可复用的企业消息系统。它遵循 Mozilla Public License 开源协议采用 Erlang 实现的工业级的消息队列(MQ)服务器建立在 Erlang OTP 平台上因为采用 Erlang 开发所以 RabbitMQ 稳定性和可靠性比较高 其他主流 MQ 产品 ActiveMQApache 出品最流行的能力强劲的开源消息总线基于 JMSJava Message Service规范RocketMQ阿里低延迟、高并发、高可用、高可靠的分布式消息中间件基于 JMS目前由 Apache 基金会维护Kafka分布式分区的多副本的多订阅者的消息发布订阅系统分布式 MQ 系统可以用于搜索日志监控日志访问日志等 本文为 RabbitMQ 入门教程主要将会讲解 RabbitMQ 安装配置Windows相关概念及项目中具体应用 安装 Erlang 官网下载链接Downloads - Erlang/OTP RabbitMQ 服务器必须首先安装 Erlang 运行环境同时安装时需要注意 RabbityMQ 所依赖的 Erlang 版本我们可以查看下方官方版本对应信息 版本对应RabbitMQ Erlang Version Requirements — RabbitMQ 本次使用版本 Erlang OTP 25.3点击跳转下载链接 双击执行 exe 安装程序除了安装路径其他都按照默认即可 然后配置环境变量 ERLANG_HOME D:\Erlang\Erlang\Erlang OTP并且添加 /bin 目录到 Path 环境变量中即添加 %ERLANG_HOME%\bin 到 Path 中 安装配置之后打开 CMD输入 erl 然后回车键会弹出版本信息表示 Erlang 安装成功 RabbitMQ 官方下载页面RabbitMQ Changelog — RabbitMQ 下载链接 RabbitMQ 3.12.0 安装 exe 文件执行安装包同样除了安装路径外其他保持默认 配置环境变量 RABBITMQ_SERVER D:\RabbitMQ\RabbitMQ\rabbitmq_server-3.12.0然后添加 %RABBITMQ_SERVER%\sbin 到 Path 环境变量中 查看所有插件 rabbitmq-plugins list注如果出现问题请参考最后一章 彻底卸载 之后我们需要安装 rabbitmq_management 插件可以使用可视化的方式查看 RabbitMQ 服务器实例的状态以及操控 RabbitMQ 服务器 # 安装插件 rabbitmq-plugins enable rabbitmq_management访问管理界面 http://localhost:15672/ 账号密码guest / guest 前期安装配置完毕下面可以配合官方入门文档学习 官方文档RabbitMQ Tutorials — RabbitMQ 消息队列 定义 消息指的是两个应用间传递的数据。数据的类型有很多种形式可能只包含文本字符串也可能包含嵌入对象。 “消息队列(Message Queue)”是在消息的传输过程中保存消息的容器。在消息队列中通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列谁从消息队列中取出数据处理他不管。消费者只负责从消息队列中取出数据处理他不管这是谁发送的数据 作用 解耦。如图所示。假设有系统 B、C、D 都需要系统 A 的数据于是系统 A 调用三个方法发送数据到 B、C、D。这时系统 D 不需要了那就需要在系统 A 把相关的代码删掉。假设这时有个新的系统 E 需要数据这时系统 A 又要增加调用系统 E 的代码。为了降低这种强耦合就可以使用 MQ系统 A 只需要把数据发送到 MQ其他系统如果需要数据则从 MQ 中获取即可 异步。如图所示。一个客户端请求发送进来系统 A 会调用系统 B、C、D 三个系统同步请求的话响应时间就是系统 A、B、C、D 的总和也就是 800ms。如果使用 MQ系统 A 发送数据到 MQ然后就可以返回响应给客户端不需要再等待系统 B、C、D 的响应可以大大地提高性能。对于一些非必要的业务比如发送短信发送邮件等等就可以采用 MQ 削峰。如图所示。这其实是 MQ 一个很重要的应用。假设系统 A 在某一段时间请求数暴增有 5000 个请求发送过来系统 A 这时就会发送 5000 条 SQL 进入 MySQL 进行执行MySQL 对于如此庞大的请求当然处理不过来MySQL 就会崩溃导致系统瘫痪。如果使用 MQ系统 A 不再是直接发送 SQL 到数据库而是把数据发送到 MQMQ 短时间积压数据是可以接受的然后由消费者每次拉取 2000 条进行处理防止在请求峰值时期大量的请求直接发送到 MySQL 导致系统崩溃 特点 可靠性通过支持消息持久化支持事务支持消费和传输的 ack 等来确保可靠性 路由机制支持主流的订阅消费模式如广播订阅headers 匹配等 扩展性多个 RabbitMQ 节点可以组成一个集群也可以根据实际业务情况动态地扩展集群中节点 高可用性队列可以在集群中的机器上设置镜像使得在部分节点出现问题的情况下队仍然可用 多种协议RabbitMQ 除了原生支持 AMQP 协议还支持 STOMPMQTT 等多种消息中间件协议 多语言客户端RabbitMQ 几乎支持所有常用语言比如 Java、Python、Ruby、PHP、C#、JavaScript 等 管理界面RabbitMQ 提供了易用的用户界面使得用户可以监控和管理消息、集群中的节点等 插件机制RabbitMQ 提供了许多插件以实现从多方面进行扩展当然也可以编写自己的插件 应用 本章将会集成 rabbitmq 到 SpringBoot 中并使用 rabbitmq-provider 生产者和 rabbitmq-consumer消费者 两个项目进行具体讲解, 也可以在父项目中创建这两个模块本文采用父子模块方式 所有代码示例已经上传到 GitHub 仓库 仓库地址ReturnTmp/rabbitmq-demo: rabbitmq 实例代码 (github.com) 生产者 配置 创建子模块 rabbitmq-provider 依赖配置也可以 IDEA 初始化模块直接勾选 !--rabbitmq--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencyapplication.yml server: port: 8021 spring: application: name: rabbitmq-provider rabbitmq: host: 127.0.0.1 port: 5672 username: root password: 111111 virtual-host: RootHost其中虚拟 host 配置项不是必须的需要自行创建 vhost如果未自行创建默认为 virtual-host: / 注vhost 可以理解为虚拟 broker即 mini-RabbitMQ server其内部均含有独立的 queue、bind、exchange 等最重要的是拥有独立的权限系统可以做到 vhost 范围内的用户控制。当然从 RabbitMQ 全局角度vhost 可以作为不同权限隔离的手段 可以按照如下步骤创建 vhost 然后创建用户管理员 然后我们需要为用户分配权限指定使用我们刚刚创建的 vhost 代码 创建直连交换机配置类 注RabbitMQ 共有四种交换机分别为直连交换机扇形交换机主题交换机首部交换机。这里使用直连交换机演示其他读者可以自行尝试 Configuration public class DirectRabbitConfig {//队列 起名TestDirectQueueBeanpublic Queue TestDirectQueue() {// durable:是否持久化,默认是false,持久化队列会被存储在磁盘上当消息代理重启时仍然存在暂存队列当前连接有效// exclusive:默认也是false只能被当前创建的连接使用而且当连接关闭后队列即被删除。此参考优先级高于durable// autoDelete:是否自动删除当没有生产者或者消费者使用此队列该队列会自动删除。// return new Queue(TestDirectQueue,true,true,false);//一般设置一下队列的持久化就好,其余两个就是默认falsereturn new Queue(TestDirectQueue, true);}//Direct交换机 起名TestDirectExchangeBeanDirectExchange TestDirectExchange() {// return new DirectExchange(TestDirectExchange,true,true);return new DirectExchange(TestDirectExchange, true, false);}//绑定 将队列和交换机绑定, 并设置用于匹配键TestDirectRoutingBeanBinding bindingDirect() {return BindingBuilder.bind(TestDirectQueue()).to(TestDirectExchange()).with(TestDirectRouting);}BeanDirectExchange lonelyDirectExchange() {return new DirectExchange(lonelyDirectExchange);}}然后写简单的接口进行消息推送可以视情况写为定时任务 RestController public class SendMessageController {AutowiredRabbitTemplate rabbitTemplate; //使用RabbitTemplate,这提供了接收/发送等等方法GetMapping(/sendDirectMessage)public String sendDirectMessage() {String messageId String.valueOf(UUID.randomUUID());String messageData test message, hello!;String createTime LocalDateTime.now().format(DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss));MapString, Object map new HashMap();map.put(messageId, messageId);map.put(messageData, messageData);map.put(createTime, createTime);//将消息携带绑定键值TestDirectRouting 发送到交换机TestDirectExchangerabbitTemplate.convertAndSend(TestDirectExchange, TestDirectRouting, map);return ok;} }启动项目调用接口 http://localhost:8021/sendDirectMessage 查看 RabbitMQ 管理页面查看是否推送成功 消费者 配置 创建子模块 rabbitmq-consumer 依赖配置 !--rabbitmq--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencyapplication.yml server: port: 8022 spring: application: name: rabbitmq-consumer rabbitmq: host: 127.0.0.1 port: 5672 username: root password: 111111 virtual-host: RootHost代码 创建消息接收监听类 Component RabbitListener(queues TestDirectQueue) public class DirectReceiver {RabbitHandlerpublic void process(Map testMessage) {System.out.println(DirectReceiver receive message: testMessage.toString());} }之后启动项目查看消费者接收情况 序列化 发送接收消息可能出现 Failed to convert message 问题可以通过使用 JSON 序列化传输信息方式解决 生产者 Configuration public class RabbitMQConfig implements InitializingBean {/*** 自动注入RabbitTemplate模板*/Resourceprivate RabbitTemplate rabbitTemplate;/*** 发送消息JSON序列化*/Overridepublic void afterPropertiesSet() {//使用JSON序列化rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());} }消费者 Configuration public class RabbitMQConfig {Beanpublic MessageConverter jsonMessageConverter(ObjectMapper objectMapper) {return new Jackson2JsonMessageConverter(objectMapper);} }彻底卸载 我们安装中可能出现各种问题一般情况下是 RabbitMQ 和 Erlang 版本不对应需要完全卸载 RabbitMQ 和 Erlang可以按照如下步骤卸载 注博主首次安装使用的是 Erlang 20.3 Rabbit 3.7.15 之后似乎小版本不对应出现问题需要重新卸载安装 1打开 Windows 控制面板双击“程序和功能”。 2在当前安装的程序列表中右键单击 RabbitMQ Server然后单击“卸载”。 3在当前安装的程序列表中右键单击“Erlang OTP”然后单击“卸载”。 4打开 Windows 任务管理器。 5在任务管理器中查找进程 epmd.exe。 如果此进程仍在运行请右键单击该进程然后单击“结束进程”。 6删除 RabbitMQ 和 Erlang 的所有安装目录。 7删除文件 C:\Windows\System32\config\systemprofile.erlang.cookie如果存在。 8转到用户文件夹C:\Users\[username]然后删除文件.erlang.cookie。 9同样在 User 文件夹中转到 AppData \ Roaming \ RabbitMQ。删除 RabbitMQ 文件夹。 10删除注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Ericsson\Erlang\ErlSrv 的子项。 11打开运行 cmd-sc delete RabbitMQ。 12打开运行-regedit 找到 RabbitMQ 节点删掉即可如果存在 参考链接 Windows 下安装 RabbitMQ 服务器及基本配置 - 蓝之风 - 博客园 (cnblogs.com)RabbitMQ Windows 安装、配置、使用 - 小白教程-阿里云开发者社区 (aliyun.com)Windows 如何完全卸载 RabbitMQ 和 Erlang 删除注册表windows 下 Erlang 与 RabbitMQ 重新安装时由于卸载不干净导致各类错误超详细的 RabbitMQ 入门看这篇就够了-阿里云开发者社区 (aliyun.com)RabbitMQ 整合 Spring Boot实现 Hello WorldSpringboot 整合 RabbitMq 用心看完这一篇就够了RabbitMq 核心知识点小结 - 知乎 (zhihu.com)RabbitMQ消费消息坑failed to convert serialized Message content - jiuchengi 本文由博客一文多发平台 OpenWrite 发布
http://www.dnsts.com.cn/news/259197.html

相关文章:

  • 大型门户网站建设需要哪些技术和注意事项wordpress开发网上商城
  • 自贡做响应式网站开发公司长沙营销型网站建设制作
  • 国内网站免费服务器互联网服务平台备案单位机动车
  • wordpress企业网站开发医院网址
  • 网站 开发 合同怎么做原创动漫视频网站
  • 免费网站主机织里网站建设
  • 长沙学校网站建设湛江网站制作专业
  • 泰钢材企业网站源码php网站培训班
  • 天河区做网站的公司html5网站开发书籍
  • 龙华做网站的网页升级紧急通知合集
  • 做网站的顺序淘宝客怎样建设网站
  • 深网著名网站个人作品展示网站
  • 网站如何制作多少钱wordpress4.2
  • 大型门户网站开发费用wordpress+博客主题
  • 模板网站劣势成都室内设计公司有哪些
  • 建站服务搭建的页面时西西美人美体
  • 网站集群建设网站免费正能量加载要快
  • 哪些网站做的比较好看的wap网站制作视频教程
  • 网站建设环境感叹号分销系统
  • 做不锈钢百度网站哪个比较好wordpress 图片整理
  • 意见反馈的网站怎么做企业官网如何建设
  • 儿童摄影网站建设斗图在线制作网站
  • 专业网站建设怎么样网站开发项目经验怎么写
  • 网站开发给网站设置图标在什么文件中写代码广告宣传片公司
  • 哪些网站可以做平面设计挣钱工作证的照片几寸
  • wordpress 4.9.2漏洞郑州做网站优化运营商
  • 网站建设 书籍长沙互联网四大巨头
  • 农业行业网站模板有经验的南昌网站设计
  • 嘉兴公司的网站设计淘宝客网站建设视频教程
  • 物理组简介 网站建设seo工具下载