[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-config":3,"primary-menu":20,"cat-rabbitmq":99,"catposts-rabbitmq":112,"post-detail-post-rabbitmq-vs-rocketmq-3e9be184":221},{"config":4,"socialLinks":19},{"title":5,"subtitle":6,"logoUrl":7,"faviconUrl":8,"footerText":9,"beianIcp":10,"beianPublicSecurity":9,"seoDescription":11,"seoKeywords":12,"homepageTitle":13,"homepageSubtitle":14,"analyticsHeadCode":15,"planetQrcodeUrl":16,"planetIntroHtml":9,"planetCtaText":17,"updatedAt":18},"编码世界","用编码改变世界","\u002Fupload\u002F2026\u002F09\u002F2f277021172f43f6bb34e1c115760b7f.png","\u002Fupload\u002F2026\u002F09\u002Fdcbad022e68c4a729a5dc4997a9bba8a.png","","苏ICP备2026073884号","编码世界（mashangan.com）是面向 Java 后端与 Go 语言的系统化编程教程站：提供\nMyBatis Plus、Lombok、Java 8、IDEA、Docker 等原创图文教程，以及 JVM、并发、\nSpring、MySQL、Redis、消息队列、计算机网络等大厂面试八股题库，另有可落地的\n项目实战系列，帮你从入门到精通。","编码世界,Java教程,Go语言教程,Docker教程,MyBatis Plus教程,Lombok教程, Java 8新特性,IDEA教程,Java面试题,八股文,JVM面试题,Java并发面试题, MySQL面试题,Redis面试题,Spring面试题,消息队列面试题,高并发,分库分表, Netty面试题,计算机网络面试题,AI Agent,RAG,程序员学习路线","Java全栈系统化编程教程","覆盖 MyBatis Plus、Lombok、Java 8、IDEA、Go、Docker 等原创图文教程，配套大厂面试八股题库，从入门到精通，持续更新","\u003Cscript>\nvar _hmt = _hmt || [];\n(function() {\n  var hm = document.createElement(\"script\");\n  hm.src = \"https:\u002F\u002Fhm.baidu.com\u002Fhm.js?f00af7e56d956c02e11efed4131379b0\";\n  var s = document.getElementsByTagName(\"script\")[0]; \n  s.parentNode.insertBefore(hm, s);\n})();\n\u003C\u002Fscript>\n","\u002Fupload\u002F2026\u002F09\u002Fc1a8f5de46584d3eb0bc762c180a5db9.png","扫码加入知识星球","2026-09-29T14:56:02.498693Z",[],{"metadata":21,"spec":24,"menuItems":34},{"name":22,"creationTimestamp":23},"primary","2026-09-12T06:13:55.024154Z",{"displayName":25,"menuItems":26},"主菜单",[27,28,29,30,31,32,33],"88c3f10b-321c-4092-86a8-70db00251b74","menu-item-izrtmxer","c4c814d1-0c2c-456b-8c96-4864965fee94","menu-item-column","menu-item-tools","menu-item-zsxq","menu-item-ocrxlczu",[35,44,54,63,72,81,90],{"displayName":36,"metadata":37,"spec":39,"status":42,"children":43},"首页",{"name":27,"creationTimestamp":38},"2026-09-12T06:13:54.422830Z",{"displayName":36,"href":40,"priority":41,"menuName":22},"\u002F",0,{"displayName":36,"href":40},[],{"displayName":45,"metadata":46,"spec":48,"status":52,"children":53},"Java面试八股",{"name":28,"creationTimestamp":47},"2026-09-13T09:42:02.854891Z",{"displayName":45,"href":49,"target":50,"priority":51,"menuName":22},"\u002Fjava-interview","_self",1,{"displayName":45,"href":49},[],{"displayName":55,"metadata":56,"spec":58,"status":61,"children":62},"文章",{"name":29,"creationTimestamp":57},"2026-09-12T06:13:54.457307Z",{"displayName":55,"href":59,"priority":60,"menuName":22},"\u002Farchives",2,{"displayName":55,"href":59},[],{"displayName":64,"metadata":65,"spec":67,"status":70,"children":71},"项目实战",{"name":30,"creationTimestamp":66},"2026-09-14T00:35:08.138170Z",{"displayName":64,"href":68,"target":50,"priority":69,"menuName":22},"\u002Fcolumn",3,{"displayName":64,"href":68},[],{"displayName":73,"metadata":74,"spec":76,"status":79,"children":80},"在线工具",{"name":31,"creationTimestamp":75},"2026-09-14T00:35:08.171474Z",{"displayName":73,"href":77,"target":50,"priority":78,"menuName":22},"\u002Ftools",4,{"displayName":73,"href":77},[],{"displayName":82,"metadata":83,"spec":85,"status":88,"children":89},"知识星球",{"name":32,"creationTimestamp":84},"2026-09-14T00:35:08.199145Z",{"displayName":82,"href":86,"target":50,"priority":87,"menuName":22},"\u002Fzsxq",5,{"displayName":82,"href":86},[],{"displayName":91,"metadata":92,"spec":94,"status":97,"children":98},"特价云服务器",{"name":33,"creationTimestamp":93},"2026-09-25T15:30:59.201614Z",{"displayName":91,"href":95,"target":50,"priority":96,"menuName":22},"\u002Fserver",6,{"displayName":91,"href":95},[],{"metadata":100,"spec":105,"status":110,"postCount":87},{"name":101,"creationTimestamp":102,"labels":103},"rabbitmq","2026-09-13T09:13:25.810188Z",{"haloweb.section":104},"interview",{"displayName":106,"slug":101,"cover":9,"description":107,"priority":108,"hideFromList":109,"preventParentPostCascadeQuery":109},"RabbitMQ 面试题","RabbitMQ 面试题：消息可靠性投递、死信队列、镜像队列、消费幂等与积压处理。",22,false,{"permalink":111,"postCount":87,"visiblePostCount":87},"\u002Fcategories\u002Frabbitmq",[113,137,158,179,200],{"metadata":114,"spec":117,"status":126,"categories":131},{"name":115,"creationTimestamp":116},"post-rabbitmq-prefetch-87e4d077","2026-09-13T10:01:09.619926Z",{"title":118,"slug":119,"cover":9,"excerpt":120,"publishTime":122,"categories":123,"tags":124,"priority":41,"pinned":109,"deleted":109,"visible":125,"allowComment":121},"RabbitMQ 的 prefetch 机制？","rabbitmq-prefetch",{"raw":9,"autoGenerate":121},true,"2026-09-13T10:01:09.668453Z",[101],[],"PUBLIC",{"permalink":127,"excerpt":128,"lastModifyTime":129,"phase":130},"\u002Farchives\u002Frabbitmq-prefetch","一、定义 prefetch（QoS）控制 RabbitMQ 一次推送给消费者多少条未确认的消息，实现限流和负载均衡。 二、设置 channel.basicQos(10); \u002F\u002F 每个消费者最多 10 条未确认消息\n 三、作用 防止消息都推给快的消费者，慢的消费者闲置，实现公平分发。 防止消费者内存被","2026-09-16T09:15:40.693057Z","PUBLISHED",[132],{"metadata":133,"spec":135,"status":136,"postCount":87},{"name":101,"creationTimestamp":102,"labels":134},{"haloweb.section":104},{"displayName":106,"slug":101,"cover":9,"description":107,"priority":108,"hideFromList":109,"preventParentPostCascadeQuery":109},{"permalink":111,"postCount":87,"visiblePostCount":87},{"metadata":138,"spec":141,"status":148,"categories":152},{"name":139,"creationTimestamp":140},"post-rabbitmq-vs-rocketmq-3e9be184","2026-09-13T10:01:09.436936Z",{"title":142,"slug":143,"cover":9,"excerpt":144,"publishTime":145,"categories":146,"tags":147,"priority":41,"pinned":109,"deleted":109,"visible":125,"allowComment":121},"RabbitMQ 和 RocketMQ 的区别？","rabbitmq-vs-rocketmq",{"raw":9,"autoGenerate":121},"2026-09-13T10:01:09.484368Z",[101],[],{"permalink":149,"excerpt":150,"lastModifyTime":151,"phase":130},"\u002Farchives\u002Frabbitmq-vs-rocketmq","一、对比 维度 RabbitMQ RocketMQ 开发语言 Erlang Java 吞吐量 万级 十万级 延迟 微秒级 毫秒级 事务消息 不支持 支持 顺序消息 支持（弱） 支持 延迟消息 支持插件 原生支持 管理界面 有 有 二、选择","2026-09-16T09:15:40.237199Z",[153],{"metadata":154,"spec":156,"status":157,"postCount":87},{"name":101,"creationTimestamp":102,"labels":155},{"haloweb.section":104},{"displayName":106,"slug":101,"cover":9,"description":107,"priority":108,"hideFromList":109,"preventParentPostCascadeQuery":109},{"permalink":111,"postCount":87,"visiblePostCount":87},{"metadata":159,"spec":162,"status":169,"categories":173},{"name":160,"creationTimestamp":161},"post-rabbitmq-reliable-d15663a6","2026-09-13T10:01:09.246619Z",{"title":163,"slug":164,"cover":9,"excerpt":165,"publishTime":166,"categories":167,"tags":168,"priority":41,"pinned":109,"deleted":109,"visible":125,"allowComment":121},"RabbitMQ 如何保证消息可靠？","rabbitmq-reliable",{"raw":9,"autoGenerate":121},"2026-09-13T10:01:09.295435Z",[101],[],{"permalink":170,"excerpt":171,"lastModifyTime":172,"phase":130},"\u002Farchives\u002Frabbitmq-reliable","一、生产端 开启 Publisher Confirm，确保消息到达 Exchange。 开启 Return 机制，消息不可路由时通知生产者。 本地消息表 + 定时补偿。 二、Broker 端 交换机、队列、消息都持久化（durable=true, deliveryMode=2）。 镜像队列：队列复制","2026-09-16T09:15:10.999791Z",[174],{"metadata":175,"spec":177,"status":178,"postCount":87},{"name":101,"creationTimestamp":102,"labels":176},{"haloweb.section":104},{"displayName":106,"slug":101,"cover":9,"description":107,"priority":108,"hideFromList":109,"preventParentPostCascadeQuery":109},{"permalink":111,"postCount":87,"visiblePostCount":87},{"metadata":180,"spec":183,"status":190,"categories":194},{"name":181,"creationTimestamp":182},"post-rabbitmq-message-ack-34ff22c9","2026-09-13T10:01:09.065945Z",{"title":184,"slug":185,"cover":9,"excerpt":186,"publishTime":187,"categories":188,"tags":189,"priority":41,"pinned":109,"deleted":109,"visible":125,"allowComment":121},"RabbitMQ 的消息确认机制？","rabbitmq-message-ack",{"raw":9,"autoGenerate":121},"2026-09-13T10:01:09.112893Z",[101],[],{"permalink":191,"excerpt":192,"lastModifyTime":193,"phase":130},"\u002Farchives\u002Frabbitmq-message-ack","一、生产者确认（Publisher Confirm） 消息投递到 Exchange 后返回 confirm。 消息路由到 Queue（持久化消息持久化到磁盘）后返回 ack。 可配合 mandatory 参数，消息不可路由时返回给生产者。 二、消费者确认（Consumer ACK） 自动确认（aut","2026-09-16T09:14:45.553264Z",[195],{"metadata":196,"spec":198,"status":199,"postCount":87},{"name":101,"creationTimestamp":102,"labels":197},{"haloweb.section":104},{"displayName":106,"slug":101,"cover":9,"description":107,"priority":108,"hideFromList":109,"preventParentPostCascadeQuery":109},{"permalink":111,"postCount":87,"visiblePostCount":87},{"metadata":201,"spec":204,"status":211,"categories":215},{"name":202,"creationTimestamp":203},"post-rabbitmq-architecture-b1256445","2026-09-13T10:01:08.867235Z",{"title":205,"slug":206,"cover":9,"excerpt":207,"publishTime":208,"categories":209,"tags":210,"priority":41,"pinned":109,"deleted":109,"visible":125,"allowComment":121},"RabbitMQ 的核心概念？","rabbitmq-architecture",{"raw":9,"autoGenerate":121},"2026-09-13T10:01:08.910375Z",[101],[],{"permalink":212,"excerpt":213,"lastModifyTime":214,"phase":130},"\u002Farchives\u002Frabbitmq-architecture","一、核心组件 Producer：生产者，发送消息到 Exchange。 Exchange：交换机，接收消息并按路由规则路由到 Queue。 Queue：队列，存储消息，消费者从队列取。 Consumer：消费者。 Binding：Exchange 和 Queue 的绑定关系，带 routing ke","2026-09-16T09:14:38.789864Z",[216],{"metadata":217,"spec":219,"status":220,"postCount":87},{"name":101,"creationTimestamp":102,"labels":218},{"haloweb.section":104},{"displayName":106,"slug":101,"cover":9,"description":107,"priority":108,"hideFromList":109,"preventParentPostCascadeQuery":109},{"permalink":111,"postCount":87,"visiblePostCount":87},{"metadata":222,"spec":223,"status":227,"categories":228,"content":234},{"name":139,"creationTimestamp":140},{"title":142,"slug":143,"cover":9,"excerpt":224,"publishTime":145,"categories":225,"tags":226,"priority":41,"pinned":109,"deleted":109,"visible":125,"allowComment":121},{"raw":9,"autoGenerate":121},[101],[],{"permalink":149,"excerpt":150,"lastModifyTime":151,"phase":130},[229],{"metadata":230,"spec":232,"status":233,"postCount":87},{"name":101,"creationTimestamp":102,"labels":231},{"haloweb.section":104},{"displayName":106,"slug":101,"cover":9,"description":107,"priority":108,"hideFromList":109,"preventParentPostCascadeQuery":109},{"permalink":111,"postCount":87,"visiblePostCount":87},{"content":235,"raw":235},"\u003Ch2>一、对比\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>维度\u003C\u002Fth>\n\u003Cth>RabbitMQ\u003C\u002Fth>\n\u003Cth>RocketMQ\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>开发语言\u003C\u002Ftd>\n\u003Ctd>Erlang\u003C\u002Ftd>\n\u003Ctd>Java\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>吞吐量\u003C\u002Ftd>\n\u003Ctd>万级\u003C\u002Ftd>\n\u003Ctd>十万级\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>延迟\u003C\u002Ftd>\n\u003Ctd>微秒级\u003C\u002Ftd>\n\u003Ctd>毫秒级\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>事务消息\u003C\u002Ftd>\n\u003Ctd>不支持\u003C\u002Ftd>\n\u003Ctd>支持\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>顺序消息\u003C\u002Ftd>\n\u003Ctd>支持（弱）\u003C\u002Ftd>\n\u003Ctd>支持\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>延迟消息\u003C\u002Ftd>\n\u003Ctd>支持插件\u003C\u002Ftd>\n\u003Ctd>原生支持\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>管理界面\u003C\u002Ftd>\n\u003Ctd>有\u003C\u002Ftd>\n\u003Ctd>有\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch2>二、选择\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>吞吐量要求不高、需要低延迟、灵活路由 → RabbitMQ。\u003C\u002Fli>\n\u003Cli>高吞吐、事务消息、顺序消息、大规模 → RocketMQ。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>三、RabbitMQ 优势\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Erlang 实现，天生高并发、低延迟。\u003C\u002Fli>\n\u003Cli>交换机模型灵活，路由能力强。\u003C\u002Fli>\n\u003Cli>插件丰富。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>四、RocketMQ 优势\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Java 实现，与 Java 生态融合好。\u003C\u002Fli>\n\u003Cli>支持事务消息，适合分布式事务。\u003C\u002Fli>\n\u003Cli>阿里双11验证，稳定性高。\u003C\u002Fli>\n\u003C\u002Ful>"]