用nodejs制作微服务 - 或如何从头开始建造仆人
如果您正在阅读本文,我认为您被微服务的魅力迷住了,并且您足够勇敢地修改它。荣誉,我的朋友。对于那些只是偶然发现这篇文章并想知道的人,“什么是微服务?”好吧,微服务架构就像拥有一支小型,高效的奴才大军,每个小兵都熟练于一项特定的任务,而不是拥有一个大型,笨重且笨拙的整体,试图弄乱所有东西(并且经常丢下球)。
好吧,足够多的聊天。让我们卷起袖子,开始使用Nodejs制作自己的微服务,Nodejs(与枕头的另一侧一样酷。我们将构建一个简单的微服务,该微服务接受带有JSON文本主体并吐出角色数量的邮政请求。革命者?不。内容丰富?绝对。
1.购物清单
首先,我们需要安装nodejs和npm(节点包管理器)。它们就像JavaScript世界中的蝙蝠侠和罗宾一样。如果您尚未安装这些内容,则互联网上充满了教程。选择一个并跟随它。现在让我们获得更多工具,因为您不能只用锤子建造房屋。
-
Express
-最小且灵活的Node.js Web应用程序框架,为Web和移动应用程序提供了一组强大的功能。基本上,我们的微服务三明治的面包和黄油。 -
Body-parser
-一块中间件,可帮助我们处理JSON有效载荷。将其视为我们服务的语言解释器。
要安装这些依赖项,打开终端并扮演NPM魔术师的角色。
npm install express body-parser --save
2.设置样板
我们有我们的工具。现在,让我们开始将东西放在一起。我们将首先设置一个简单的服务器。创建一个名为app.js
的新文件,并将以下代码放入其中:
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.listen(3000, () => {
console.log('Microservice listening on port 3000. Be there or be square!');
});
使用node app.js
运行脚本,如果您看到控制台消息,恭喜,您的服务器还活着。它现在没有做任何事情,但是嘿,罗马没有一天建造。
3.构建微服务 - “角色计数器”
让我们开始将此微服务放在一起。我们想要的是一个接收JSON数据并返回文本中字符数的端点。
将以下代码添加到app.js
:
app.post('/count', (req, res) => {
const text = req.body.text;
if (!text) {
res.status(400).json({ error: 'No text provided. What do you expect me to count?' });
return;
}
const count = text.length;
res.status(200).json({ text: `Your text is ${count} characters long. Such a novel you've written there!` });
});
瞧!您有第一个微服务。您现在需要做的就是使用node app.js
启动服务器,并使用{"text": "your text here"}
的JSON主体发送帖子请求。你问什么?如何发送邮政请求?您可以使用邮递员,卷发或任何其他制造
你感觉像个向导。
4.轻拍自己的背部
好吧,你有。一个简单的nodejs微服务,但做得很好。因此,继续前进,打开苏打水,享受成功的荣耀,然后开始思考要构建的下一个微服务。毕竟,一个小兵永远不够。
结论
现在,您已经将脚趾浸入了微服务世界中,请记住,该概念远远超出了这个简单的例子。您有可以连接的数据库,管理的身份验证,多个服务进行编排以及是壁板的错误。但是,嘿,每一个巨大的飞跃都从一小步开始,而您刚刚迈出了。愉快的编码!