node express简单微服务

首先,安装所需的依赖项,可以使用npm或yarn进行安装:

复制代码
$ npm install express axios

接下来,创建一个名为service1.js的文件,用于实现第一个微服务:

javascript 复制代码
const express = require('express');
const axios = require('axios');

const app = express();
const port = 3001;

app.get('/service1', async (req, res) => {
  try {
    // 发起 HTTP 请求到另一个微服务
    const response = await axios.get('http://localhost:3002/service2');

    // 处理响应数据
    const data = response.data;

    // 返回响应给客户端
    res.json({ message: 'Hello from Service 1', data });
  } catch (error) {
    console.error(error);
    res.status(500).json({ error: 'Internal Server Error' });
  }
});

app.listen(port, () => {
  console.log(`Service 1 is running on http://localhost:${port}`);
});

然后,创建一个名为service2.js的文件,用于实现第二个微服务:

javascript 复制代码
const express = require('express');

const app = express();
const port = 3002;

app.get('/service2', (req, res) => {
  // 返回响应给客户端
  res.json({ message: 'Hello from Service 2' });
});

app.listen(port, () => {
  console.log(`Service 2 is running on http://localhost:${port}`);
});

现在,你可以启动这两个微服务,并通过访问http://localhost:3001/service1来测试:

复制代码
$ node service1.js
$ node service2.js

当你访问http://localhost:3001/service1时,Service 1将发起一个HTTP请求到Service 2,并将Service 2的响应返回给客户端。

这只是一个简单的示例,用于演示如何使用Node.js构建微服务。在实际的项目中,你可能需要处理更复杂的业务逻辑、使用数据库进行数据存储、实现身份验证和授权等功能。但这个示例可以作为你开始构建基于Node.js的微服务的起点。

相关推荐
行走的陀螺仪8 小时前
一次 opencode + OpenPencil MCP 协同解析 .fig 文件的踩坑实录
node.js·figma·mcp·opencode
JasonMa15310 小时前
从零搭建一个微信小程序活动管理平台(一):架构设计与技术选型
javascript·微信小程序·node.js
濮水大叔13 小时前
NestJS 与 CabloyJS 的 env/config 架构对比:从环境变量到实例级配置
前端·node.js·nestjs
TDengine (老段)17 小时前
TDengine Node.js 与 C# 连接器 — Web 服务与 .NET 集成
大数据·数据库·node.js·c#·.net·时序数据库·tdengine
To_OC19 小时前
对接大模型流式接口,我被一个 ReadableStream 卡了半小时
前端·node.js·llm
特立独行的猫a1 天前
鸿蒙PC Node.js三方库移植的AI移植框架与社区贡献完整流程
华为·node.js·harmonyos·三方库移植·鸿蒙pc
AI 编程助手GPT1 天前
Cursor Router 上线后,我用 Node.js 实现了一个可解释的模型路由器
node.js
半个落月1 天前
用 Node.js 搭建 EPUB 问答助手:从文本切片、向量检索到 RAG
人工智能·node.js
meilindehuzi_a2 天前
Node.js + LangChain.js + Milvus 实战:从 EPUB 入库到《天龙八部》RAG 问答系统
javascript·langchain·node.js
行走的陀螺仪2 天前
从 nvm 到 fnm:更快、更省心的 Node.js 版本管理器迁移指南
rust·node.js·nvm·fnm