You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python、RabbitMQ、NodeJS实现在网站展示Hello World消息

可行实现方案

完全可以基于你当前的技术栈实现该需求,核心逻辑是通过RabbitMQ做消息中转,Python后端生产消息,Node.js服务作为消费者接收消息后向前端页面渲染内容。

方案整体流程

  • Python后端作为生产者,生成"Hello World!"消息发送到RabbitMQ的指定队列
  • Node.js服务(兼顾后端服务和前端资源托管)作为消费者,监听RabbitMQ队列接收消息
  • Node.js将接收到的消息返回给前端页面渲染展示

前置依赖安装

  • Python端需要安装pika库用于连接RabbitMQ:pip install pika
  • Node.js端需要安装amqplib(RabbitMQ客户端)、express(托管前端页面):npm install amqplib express

1. Python后端(消息生产者)实现

import pika

# 连接本地RabbitMQ服务,可根据实际部署配置修改连接参数
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

# 声明消息队列,队列不存在则自动创建
channel.queue_declare(queue='hello_world_queue')

# 发送Hello World消息到队列
channel.basic_publish(
    exchange='',
    routing_key='hello_world_queue',
    body='Hello World!'
)
print("已发送Hello World消息到RabbitMQ")

connection.close()

2. Node.js服务(消息消费者+页面托管)实现

const express = require('express');
const amqp = require('amqplib');
const app = express();
const port = 3000;

// 存储接收到的RabbitMQ消息
let receivedMessage = '';

// 连接RabbitMQ并监听目标队列
async function connectRabbitMQ() {
  try {
    const connection = await amqp.connect('amqp://localhost');
    const channel = await connection.createChannel();
    await channel.assertQueue('hello_world_queue');
    
    console.log('已启动RabbitMQ队列监听');
    channel.consume('hello_world_queue', (msg) => {
      if (msg) {
        receivedMessage = msg.content.toString();
        console.log('收到消息:', receivedMessage);
        channel.ack(msg);
      }
    });
  } catch (err) {
    console.error('RabbitMQ连接失败:', err);
  }
}

// 根路由返回前端页面,直接嵌入消息内容
app.get('/', (req, res) => {
  res.send(`
    <!DOCTYPE html>
    <html>
      <head>
        <title>消息展示页</title>
      </head>
      <body>
        <h1>${receivedMessage || '暂未收到RabbitMQ消息'}</h1>
      </body>
    </html>
  `);
});

// 启动Node服务和RabbitMQ监听
connectRabbitMQ();
app.listen(port, () => {
  console.log(`Node服务已启动,访问 http://localhost:${port} 查看效果`);
});

3. 运行验证步骤

  • 先确保本地RabbitMQ服务已正常启动,默认端口无修改
  • 运行Node.js服务:node app.js
  • 运行Python生产者脚本:python producer.py
  • 打开浏览器访问http://localhost:3000,即可看到页面展示*Hello World!*内容

如果需要实现无刷新实时接收消息,可以在Node.js端集成WebSocket,收到RabbitMQ消息时主动推送给前端浏览器即可。

内容的提问来源于stack exchange,提问作者Quang nGUYEN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:45:03