摘要: Github仓库地址: https://github.com/imtudou/imtudou.microservices/tree/master/net/samples/rabbitmq 什么是消息中间件 MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队 阅读全文
posted @ 2023-04-12 22:50 无敌土豆 阅读(60) 评论(0) 推荐(0) 编辑
摘要: Producer:生产者 Consumer:消费者 RabbitMQ:中间的框是一个队列-RabbitMQ 代表使用者保留的消息缓冲区 依赖 <PackageReference Include="RabbitMQ.Client" Version="6.4.0" /> 生产者代码 using Rabb 阅读全文
posted @ 2023-04-12 22:50 无敌土豆 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。 轮询分发消息 封装获取Channel代码 usin 阅读全文
posted @ 2023-04-12 22:49 无敌土豆 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消 息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会 发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了, 阅读全文
posted @ 2023-04-12 22:47 无敌土豆 阅读(17) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。交换机必须确切知道 阅读全文
posted @ 2023-04-12 22:47 无敌土豆 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 概念 死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变 阅读全文
posted @ 2023-04-12 22:46 无敌土豆 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 概念 延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列 死信队列的一种,设置死信队列 TTL即为延迟队列 场景 订单在十分钟之内未支付则自动取消 新创建的店铺,如果 阅读全文
posted @ 2023-04-12 22:45 无敌土豆 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。如何才能进行 RabbitMQ 的消息可靠投递呢? 特别是在这样比较极端的情况,RabbitMQ 集群不可用的时候,无法投递的消息该如何处理呢? 消息回退( 阅读全文
posted @ 2023-04-12 22:44 无敌土豆 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 幂等性 MQ消费者的幂等性的解决一般使用全局ID或者写个唯一标识比如时间戳或者UUID或者订单消费者消费MQ中的消息也可利用MQ的该id来判断,或者可按自己的规则生成一个全局唯一id,每次消费消息时用该id先判断该消息是否已消费过 在海量订单生成的业务高峰期,生产端有可能就会重复发生了消息,这时候消 阅读全文
posted @ 2023-04-12 22:36 无敌土豆 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 搭建集群 镜像队列 默认情况下node1创建的队列不会同步到node2上 此时如果已经发送到了一条消息到node1上的队列,该队列并不会备份到node2上此时node1宕机并重启,该消息会丢失,配置对应策略可保证集群上队列备份并且消息不丢失 负载均衡 生产者给node1发消息,此时node1宕机,但 阅读全文
posted @ 2023-04-12 22:35 无敌土豆 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 项目地址:https://github.com/imtudou/Vue 框架和库的区别 框架:是一套完整的解决方案;对项目的侵入性较大,项目如果需要更换框架,则需要重新架构整个项目。 node 中的 express; 库(插件):提供某一个小功能,对项目的侵入性较小,如果某个库无法完成某些需求,可以 阅读全文
posted @ 2023-04-12 14:18 无敌土豆 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 品牌管理案例 添加新品牌 删除品牌 根据条件筛选品牌 1.x 版本中的filterBy指令,在2.x中已经被废除: filterBy - 指令 <tr v-for="item in list | filterBy searchName in 'name'"> <td>{{item.id}}</td> 阅读全文
posted @ 2023-04-12 14:17 无敌土豆 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 定义Vue组件 什么是组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可;组件化和模块化的不同: 模块化: 是从代码逻辑的角度进行划分的;方便代码分层开发,保证每个功能模块的职能单一; 组件化: 是 阅读全文
posted @ 2023-04-12 14:17 无敌土豆 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 <script> // 创建 Vue 实例,得到 ViewModel var vm = new Vue({ el: '#app', data: { msg: '这是父组件中的消息' }, componen 阅读全文
posted @ 2023-04-12 14:17 无敌土豆 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 在网页中会引用哪些常见的静态资源? JS .js .jsx .coffee .ts(TypeScript 类 C# 语言) CSS .css .less .sass .scss Images .jpg .png .gif .bmp .svg 字体文件(Fonts) .svg .ttf .eot .w 阅读全文
posted @ 2023-04-12 14:17 无敌土豆 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 注意: 有时候使用npm i node-sass -D装不上,这时候,就必须使用 cnpm i node-sass -D 在普通页面中使用render函数渲染组件 在webpack中配置.vue组件页面的解析 运行cnpm i vue -S将vue安装为运行依赖; 运行cnpm i vue-load 阅读全文
posted @ 2023-04-12 14:17 无敌土豆 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 使用mui的tab-top-webview-main完成分类滑动栏 兼容问题 和 App.vue 中的 router-link 身上的类名 mui-tab-item 存在兼容性问题,导致tab栏失效,可以把mui-tab-item改名为mui-tab-item1,并复制相关的类样式,来解决这个问题; 阅读全文
posted @ 2023-04-12 14:17 无敌土豆 阅读(29) 评论(0) 推荐(0) 编辑