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的微服务的起点。

相关推荐
27669582924 小时前
京东e卡滑块 分析
java·javascript·python·node.js·go·滑块·京东
PleaSure乐事4 小时前
【Node.js】内置模块FileSystem的保姆级入门讲解
javascript·node.js·es6·filesystem
丁总学Java19 小时前
微信小程序-npm支持-如何使用npm包
前端·微信小程序·npm·node.js
看到请催我学习21 小时前
如何实现两个标签页之间的通信
javascript·css·typescript·node.js·html5
NiNg_1_2341 天前
npm、yarn、pnpm之间的区别
前端·npm·node.js
余生H1 天前
前端的全栈混合之路Meteor篇:关于前后端分离及与各框架的对比
前端·javascript·node.js·全栈
Ink1 天前
从底层看 path.resolve 实现
前端·node.js
奔跑吧邓邓子1 天前
npm包管理深度探索:从基础到进阶全面教程!
前端·npm·node.js
知否技术2 天前
为什么nodejs成为后端开发者的新宠?
前端·后端·node.js
谢尔登2 天前
【Node.js】worker_threads 多线程
node.js