架构实战——如何使用Node.js构建微服务 - 科技资讯(健康生活网)
微服务是一种面向服务的架构 (SOA)。它是一个基于组件的模型,其中应用程序由定义良好的协议(如 HTTP)和独立组件的组合构成。简单来说,它是一种用于使用容器开发分布式应用程序的架构,其中集成到应用程序中的每个功能都充当您业务的独立服务。微服务最重要的特征是它们的 API 数组。
此外,使用微服务开发应用程序可以提高模块化程度,同时还可以独立部署应用程序的每个部分并单独测试单元。
一些在其应用程序中使用这种架构的知名企业巨头包括 Netflix、Amazon、Uber、SoundCloud 和许多其他品牌。要使用微服务开发应用程序,一些最好的编程语言是 Golang、Node.js、Python、Java 等等。
既然我们已经用最简单的术语演示了微服务架构是什么,那么了解它是否有益以及应该选择哪种编程语言来开发微服务也很重要。
微服务的优势使用微服务开发广泛而动态的业务应用程序已经是一种好处。但除此之外,还有无数的好处可以帮助您做出更好的决定。以下是我们列出的一些优势供您参考。
它具有更顺畅的部署过程,部分应用程序不会影响整个应用程序,因为它是逐个服务部署的。
由于功能是孤立和独立的,因此易于理解。
微服务架构有助于构建高弹性和可靠的应用程序。
应用程序中一项特定服务的故障仍然存在于自身内部;它不会影响应用程序的全部特性和功能。
另一个好处是,在微服务架构上开发应用程序时,可以用不同的语言编写不同服务的代码。
使用微服务架构构建的应用程序通常没有停机时间。
它基于单个架构而不是整个应用程序所需的资源提供可扩展的应用程序。
另一个额外的好处是对开发人员而言;它提供了一种简化的体验,因为他们不必了解完整的系统;他们只需要了解他们正在处理的功能或服务,从而节省时间和金钱并提高生产力。
上面提到的只是使用微服务开发应用程序的一些重要好处,在应用程序的开发过程中您会遇到更多的好处。但请确保您还了解微服务的缺点。虽然缺点不多,但只要高效完成工作,就可以排除这些缺点。
主要缺点是,如果流程架构不正确,则可能会给开发人员带来系统过度碎片化的问题。此外,监控微服务架构有时会变得复杂,因为整个系统存在多个故障点,这反过来也增加了应用程序的测试复杂性。
使用 Node.js 构建微服务的原因在微服务应用程序开发中使用的所有编程语言中,Node.js 因其特性和提供的好处而被几乎每个开发人员广泛使用。以下是为什么使用 Node.JS 的微服务是最佳选择的几个原因。
由于 Node.js 运行在 Google 的 V8 引擎上,因此它提高了执行时间,将函数编译为本机机器代码,还可以执行低延迟的 CPU 和 IO 密集型操作。
Node.js 的事件驱动架构使其在开发事件驱动应用程序时非常有用。
Node.js 库支持非阻塞调用,这些调用无需等待前一个调用返回即可继续工作。
使用 Node.js 构建的应用程序是可扩展的,这意味着执行模型通过将请求分配给其他工作线程来支持扩展。
以上是使用 Node.js 构建微服务的几个原因,既然我们已经回顾了选择 Node.js 的主要原因,现在还应该教你如何使用 Node.js 构建微服务。
如何使用 Node.js 创建微服务使用 Node.JS 构建微服务很容易,因为它有无数的好处。下面我们提到了如何构建微服务应用程序的分步指南。所以我们开始吧。
首要步骤是确定业务需求,这意味着您需要了解您的服务对开发微服务的需求。
第二步是将 Node.js 安装到您的系统中并安装 Node Package Manager 以安装依赖项。您可以从 NodeSource 或 Node.js snaps 中找到基于 Ubuntu 和 Debian 的兼容 Node.js 二进制分发包。要管理这些包,您将需要 fnm:一个快速而简单的 Node.js,它管理所有已发布的 Node.js 版本,并允许您根据当前使用的目录自动安装、卸载和切换版本。您可以使用安装脚本进行安装。
下一步是设置服务器并识别和分配路由,创建和插入控制器逻辑,并与外部服务建立连接。
在创建路由、控制器逻辑和建立连接之后,下一步就是构建 外部 API调用来处理第三方 API。
为了说明 Node.js 在微服务中的使用,我们将使用 AccuWeather API 服务。您可以创建一个免费的AccuWeather帐户。
在您的系统上创建一个新文件夹并将其命名为 Accuweather-microservice 并在您的代码编辑器中打开它,并通过运行以下命令确保您的系统已预安装 Node.js:
node -v
如果没有安装,可以到Node.js 官网下载。在 Accuweather-microservice 中,运行命令初始化 package.json:
Run npm init or npm init -y
使用 npm init,您可以自定义字段以使用 npm init -y 创建 package.json 文件;您可以使用默认字段来创建 package.json 文件。
现在要安装所有必需的依赖项,您需要运行以下命令:
run npm install Express nodemon request
5. 创建 package.json 文件后,您需要创建一个 index.js 文件作为应用程序的主文件,并在 Accuweather-microservice 文件夹中创建一个名为 api_source 的文件夹,其中包含要处理的控制器和路由要求。
6. 现在,您可以在主文件夹中创建一个服务文件夹,以构建一个与外部 API 连接并处理请求/响应的 weather.js 文件。
7. 现在最后一步是执行,应用程序已准备好运行。
上述步骤只是使用 Node.js 构建微服务应用程序的一个简短过程,它将帮助您完成项目。
既然我们了解了微服务、它们的好处以及如何使用 Node.js 构建它们,接下来您可以做的就是开始处理您的项目。尽管如果您不熟悉微服务可能会让人感到困惑,但在适当的指导下,您肯定能够开发出可扩展和一流的应用程序。
同时文中图片应用自网络,如有侵权请联系删除。