学霸同款2026 TOP8 AI论文写作软件:本科生毕业论文必备测评

核心内容摘要

Nano-Banana实战教程:为盲文打印机生成凸点阵列+驱动电路分解示意图
React-useanimations核心功能解析:50+动画图标如何提升用户交互体验

AI专著创作新玩法!工具深度解析,快速打造专业学术专著

消æ�¯ä¸­é—´ä»¶MQ全称为Message Queue,消æ�¯é˜Ÿåˆ—是应用程åº�和应用程åº�之间的通信方法。在项目中,å�¯å°†ä¸€äº›æ— 需å�³æ—¶è¿”å›�且耗时的æ“�作æ��å�–出æ�¥ï¼Œè¿›è¡Œå¼‚步处ç�†ï¼Œè€Œè¿™ç§�异步处ç�†çš„æ–¹å¼�大大的节çœ�了æœ�务器的请求å“�应时间,ä»�而æ��高了系统的å��å��é‡�。常è§�的消æ�¯ä¸­é—´ä»¶

ActiveMQ基äº� JMS(Java Message Service)规范,Apache å¼€æº�é¡¹ç›®ã€‚ä¼˜ç‚¹ï¼šæ ‡å‡†å…¼å®¹æ€§å¥½ï¼šå®Œæ•´æ”¯æŒ� JMS

1/

0 规范,适å�ˆ Java ä¼�业级应用。功能全é�¢ï¼šæ”¯æŒ�点对点(Queue)ã€�å�‘布订阅(Topic)ã€�事务ã€�æŒ�久化ã€�集群等。å��议丰富:除 OpenWire(默认)外,还支æŒ� STOMPã€�AMQPã€�MQTTã€�WebSocket 等,便äº�多语言客户端æ�¥å…¥ã€‚部署简å�•:å�•机模å¼�é…�置轻é‡�,适å�ˆä¸­å°�å�‹ç³»ç»Ÿã€‚缺点:性能一般:在高并å�‘ã€�高å��å��场景下性能ä¸�如 Kafka 或 RocketMQ。主ä»�切æ�¢æ…¢ï¼šä¼ 统主ä»�模å¼�æ•…éšœæ�¢å¤�较慢(虽有 LevelDB + ZooKeeper 的共享存储方案,但已ä¸�æ�¨è��)。社区活跃度下é™�:新版本(如 ActiveMQ Artemis)虽有改进,但整体生æ€�被 RabbitMQ/Kafka 超越。扩展性有é™�:横å�‘扩展能力较弱,ä¸�适å�ˆè¶…大规模消æ�¯å †ç§¯ã€‚ğŸ“Œé€‚ç”¨åœºæ™¯ï¼šä¼ ç»Ÿä¼�业应用ã€�ä½�频异步解耦ã€�需è¦� JMS æ ‡å‡†çš„ Java 系统。

RabbitMQ基� AMQP

0.

1 å��议,使用 Erlang å¼€å�‘,强调å�¯é� 性ä¸�稳定性。优点:高å�¯é� 性:支æŒ�消æ�¯æŒ�久化ã€�ACK 机制ã€�死信队列ã€�消æ�¯é‡�试等,确ä¿�ä¸�丢消æ�¯ã€‚ç�µæ´»è·¯ç”±ï¼šé€šè¿‡ Exchange + Binding + Routing Key å®�ç�°å¤�æ�‚路由策略(direct/topic/fanout/header)。管ç�†ç•Œé�¢å�‹å¥½ï¼šå†…ç½® Web UI,监æ�§ã€�è¿�ç»´ã€�æ�’é”™é��常方便。社区æˆ�熟:文档丰富,æ�’件生æ€�完善(如延迟æ�’ä»¶ã€�Shovelã€�Federation)。多语言支æŒ�好:官方æ��供多ç§�客户端 SDK。缺点:å��å��é‡�中等:å�•机å��å��通常在万级 QPS,远ä½�äº� Kafka/RocketMQ。Erlang 门槛高:二次开å�‘或深度定制困难,æ�’查问题需了解 Erlang。内存å� 用高:大é‡�未消费消æ�¯ä¼šå� 用较多内存(å�¯è°ƒä¼˜ï¼‰ã€‚集群扩展性一般:镜åƒ�队列(Mirroring)虽ä¿�è¯�高å�¯ç”¨ï¼Œä½†å†™æ€§èƒ½å�—主节点é™�åˆ¶ï¼Œæ— æ³•æ°´å¹³æ‰©å±•é˜Ÿåˆ—ã€‚ğŸ“Œé€‚ç”¨åœºæ™¯ï¼šå¯¹æ¶ˆæ�¯å�¯é� 性è¦�求高ã€�业务逻辑å¤�æ�‚的系统(如金è��ã€�订å�•ã€�支付)。

RocketMQ阿里巴巴开æº�,å��æ��èµ Apache,为高å��å��ã€�高å�¯ç”¨ã€�顺åº�消æ�¯è€Œç”Ÿã€‚优点:高性能 高å��å��:å�•机å�¯è¾¾ 10w+ QPS,延迟ä½�(毫秒级)。强顺åº�消æ�¯ï¼šæ”¯æŒ�ä¸¥æ ¼ FIFO(分区有åº�),适用äº�交易æµ�æ°´ã€�日志等场景。消æ�¯å †ç§¯èƒ½åŠ›å¼ºï¼šåŸºäº�ç£�盘文件存储,支æŒ� TB 级消æ�¯å †ç§¯è€Œä¸�å½±å“�性能。丰富的特性:延迟消æ�¯ï¼ˆ18个等级)ã€�事务消æ�¯ã€�消æ�¯è½¨è¿¹ã€�ACL æ�ƒé™�æ�§åˆ¶ã€‚天然分布å¼�æ�¶æ�„:NameServerï¼ˆæ— çŠ¶æ€�) + Broker(主ä»�) + Producer/Consumer,易äº�水平扩展。缺点:生æ€�相对å°�闭:主è¦�围绕 Java 生æ€�,其他语言客户端支æŒ�较弱(虽有 Go/Python 社区版,但ä¸�如 Kafka æˆ�熟)。è¿�ç»´å¤�æ�‚度较高:需维护 NameServer å’Œ Broker 集群,é…�置项较多。å��è®®é��æ ‡å‡†ï¼šè‡ªå®šä¹‰å��议,ä¸�兼容 JMS/AMQP,è¿�ç§»æˆ�本高。社区国际化较弱:文档以中文为主,英文资料较少。📌适用场景:电商ã€�金è��ã€�日志收集等对å��å��ã€�顺åº�ã€�å †ç§¯æœ‰é«˜è¦�求的场景。

KafkaLinkedIn å¼€æº�,分布å¼�æµ�处ç�†å¹³å�°ï¼Œå¼ºè°ƒé«˜å��å��ã€�å�¯æ‰©å±•ã€�æŒ�久化日志。优点:超高å��å��é‡�:å�•机å�¯è¾¾æ•°å��万甚至百万级 QPS,适å�ˆå¤§æ•°æ�®åœºæ™¯ã€‚æ��强扩展性:分区(Partition)机制天然支æŒ�水平扩展,消费者组å�¯å¹¶è¡Œæ¶ˆè´¹ã€‚æŒ�久化ä¸�å›�溯:消æ�¯æŒ�久化到ç£�盘,支æŒ�按 offset ä»»æ„�å›�放(适用äº�æ•°æ�®ç®¡é�“ã€�ETL)。生æ€�系统强大:ä¸� Flinkã€�Sparkã€�Hadoopã€�Kafka Streams ç­‰æ— ç¼�集æˆ�。跨语言支æŒ�好:社区æ��供丰富的客户端(Java/Go/Python/Node.js 等)。缺点:å®�时性ç¨�差:为å��å��优化,默认批é‡�å�‘é€�/拉å�–,端到端延迟通常在 10msï½�100ms(ä¸�适å�ˆå¼ºå®�时场景)。ä¸�支æŒ�å¤�æ�‚路由:å�ªæœ‰ Topic + Partitionï¼Œæ— RabbitMQ é‚£æ ·çš„ç�µæ´» Exchange。消æ�¯å�¯é� 性需调优:默认é…�ç½®å�¯èƒ½ä¸¢æ¶ˆæ�¯ï¼ˆéœ€è®¾ç½®acks=all,replication.factor≥3等)。è¿�ç»´å¤�æ�‚:ä¾�èµ– ZooKeeper(Kafka

8+ 支æŒ� KRaft 模å¼�å�» ZooKeeper,但尚未完全普å�Šï¼‰ã€‚📌适用场景:日志è�šå�ˆã€�行为追踪ã€�æµ�å¼�处ç�†ã€�大数æ�®ç®¡é�“ã€�事件溯æº�等。Kafka:适å�ˆå¤§æ•°æ�®å¤„ç�†ã€�æµ�计算场景,以å�Šå¯¹å��å��é‡�å’ŒæŒ�久化有æ��高è¦�求,并且愿æ„�投入资æº�进行è¿�维的项目。ActiveMQ:适用äº�å°�å�‹é¡¹ç›®æˆ–对消æ�¯é˜Ÿåˆ—功能需求较简å�•的场景,由äº�社区活跃度ä¸�高,ä¸�æ�¨è��使用。RabbitMQ:在需è¦�ç�µæ´»è·¯ç”±ã€�广泛语言支æŒ�å�Šè‰¯å¥½ç¤¾åŒºç”Ÿæ€�的项目中表ç�°å‡ºè‰²ï¼Œé€‚用äº�大多数通用应用场景。RocketMQ:尤其适å�ˆé‡‘è��ã€�电商等对性能和事务处ç�†è¦�求严苛,愿æ„�æŠ•å…¥ç²¾åŠ›å­¦ä¹ å’Œç»´æŠ¤çš„å¤§å�‹åˆ†å¸ƒå¼�系统。

RabbitMQ简介RabbitMQ是由erlang语言开å�‘,基äº�AMQP(Advanced Message Queue 高级消æ�¯é˜Ÿåˆ—å��议)å��è®®å®�ç�°çš„æ¶ˆæ�¯é˜Ÿåˆ—,它是一ç§�应用程åº�之间的通信方法,消æ�¯é˜Ÿåˆ—在分布å¼�系统开å�‘中应用é��常广泛。RabbitMQ官方地å�€ï¼šhttp://www.rabbitmq.com/RabbitMQæ��供了6ç§�模å¼�:简å�•模å¼�,work模å¼�,Publish/Subscribeå�‘布ä¸�订阅模å¼�,Routing路由模å¼�,Topics主题模å¼�,RPC远程调用模å¼�(远程调用,ä¸�太算MQ;暂ä¸�作介ç»�);官网对应模å¼�介ç»�:https://www.rabbitmq.com/getstarted.html安装æˆ�功å��,在sbin目录下cmd执行rabbitmq-plugins enable rabbitmq_managementå�¯åŠ¨ç®¡ç�†åŠŸèƒ½é»˜è®¤è´¦å�·å¯†ç � guest

导入�赖!--amqp-client-- !-- Source: https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -- dependency groupIdcom.rabbitmq/groupId artifactIdamqp-client/artifactId version

5.

2

0/version scopecompile/scope /dependency

编写��工具类public class ConnectionUtil { public static Connection getConnection() throws IOException, TimeoutException { //

创建��工� ConnectionFactory connectionFactory = new ConnectionFactory(); //

�置��信� connectionFactory.setHost("localhost"); // ip connectionFactory.setPort(

; // 端å�£ connectionFactory.setVirtualHost("/"); // 虚拟机 connectionFactory.setUsername("admin"); // 用户å�� connectionFactory.setPassword("admin"); // 密ç � //

创建�� return connectionFactory.newConnection(); } }

简�模�简�模�(Simple/Hello World):一个生产者��消�到一个队列,一个消费者�该队列�收消�,是最基本的点对点通信模�。编写生产者public class Producer { ​ private static final String QUEUE_NAME = "simple_queue"; ​ public static void main(String[] args) throws IOException, TimeoutException { //

����对象 Connection connection = ConnectionUtil.getConnection(); ​ //

创建频é�“ Channel channel = connection.createChannel(); /* * 声æ˜�(创建)队列 * å�‚æ•°1:队列å��ç§° * å�‚æ•°2:是å�¦å®šä¹‰æŒ�久化队列:true(是),false(å�¦ï¼‰ ä¿�存到硬盘 * å�‚æ•°3:是å�¦ç‹¬å� 本次è¿�æ�¥ï¼štrue(是),false(å�¦ï¼‰ å�ªèƒ½è¢«å½“å‰�è¿�æ�¥ä½¿ç”¨ï¼Œå¦‚æ�œconnectionè¿�æ�¥å…³é—­ï¼Œåˆ™é˜Ÿåˆ—è‡ªåŠ¨åˆ é™¤ * å�‚æ•°4:是å�¦åœ¨ä¸�ä½¿ç”¨çš„æ—¶å€™è‡ªåŠ¨åˆ é™¤é˜Ÿåˆ— * å�‚æ•°5:队列其它å�‚æ•° 以Mapæ•°æ�®ç»“æ�„存储 */ channel.queueDeclare(QUEUE_NAME,true,false,false,null); ​ //

å�‘é€�消æ�¯ String message = "Hello RabbitMQ3"; /* * å�‚æ•°1:交æ�¢æœºå��称,如æ�œæ²¡æœ‰æŒ‡å®šåˆ™ä½¿ç”¨é»˜è®¤Default Exchage * å�‚æ•°2:路由key,简å�•模å¼�å�¯ä»¥ä¼ 递队列å��ç§° * å�‚æ•°3:消æ�¯å…¶å®ƒå±�性 * å�‚æ•°4:消æ�¯å†…容 */ channel.basicPublish("",QUEUE_NAME,null,message.getBytes()); ​ //

关闭资� channel.close(); connection.close(); } }编写消费者public class Consumer { ​ private static final String QUEUE_NAME = "simple_queue"; ​ public static void main(String[] args) throws IOException, TimeoutException { //

����对象 Connection connection = ConnectionUtil.getConnection(); ​ //

创建频é�“ Channel channel = connection.createChannel(); /* * 声æ˜�(创建)队列 * å�‚æ•°1:队列å��ç§° * å�‚æ•°2:是å�¦å®šä¹‰æŒ�久化队列:true(是),false(å�¦ï¼‰ ä¿�存到硬盘 * å�‚æ•°3:是å�¦ç‹¬å� 本次è¿�æ�¥ï¼štrue(是),false(å�¦ï¼‰ å�ªèƒ½è¢«å½“å‰�è¿�æ�¥ä½¿ç”¨ï¼Œå¦‚æ�œconnectionè¿�æ�¥å…³é—­ï¼Œåˆ™é˜Ÿåˆ—è‡ªåŠ¨åˆ é™¤ * å�‚æ•°4:是å�¦åœ¨ä¸�ä½¿ç”¨çš„æ—¶å€™è‡ªåŠ¨åˆ é™¤é˜Ÿåˆ— * å�‚æ•°5:队列其它å�‚æ•° 以Mapæ•°æ�®ç»“æ�„存储 */ channel.queueDeclare(QUEUE_NAME, true, false, false, null); ​ //

创建消费者

女人三十第20集-女人三十第20集应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123