当前位置: 首页 > 科技观察

如何使用Node.js构建微服务

时间:2023-03-21 02:03:30 科技观察

译者|李锐审稿人|SunShujuanBuildingMicroserviceswithNode.js是一种事件驱动的开发架构,允许开发人员创建功能加载、可扩展和可靠的应用程序。构建应用程序不仅要满足客户需求,还要将复杂的功能与动态编程相结合,以保持用户体验和代码质量。在开发加载功能的大型应用程序时,确保应用程序顺利运行非常重要。本文将介绍微服务架构、优势,以及如何使用Node.js开发微服务。1.什么是微服务?微服务是一种面向服务的架构(SOA)。它是一种基于组件的模型,其中应用程序由定义明确的协议(如HTTP)和独立组件的组合组成。简单来说,它是一种使用容器开发分布式应用程序的架构,其中集成到应用程序中的每个功能都作为企业业务的独立服务。微服务最重要的特征是它们的API数组。此外,使用微服务开发应用程序增加了模块化,同时还允许独立部署应用程序的每个部分并单独测试单元。在其应用程序中使用此架构的一些知名企业巨头包括Netflix、亚马逊、优步、SoundCloud和许多其他品牌。对于使用微服务开发应用程序,一些最好的编程语言是Golang、Node.js、Python、Java等等。现在我们已经用最简单的术语演示了什么是微服务架构,了解它是否有益以及您应该选择哪种编程语言来开发微服务也很重要。2.微服务的优势使用微服务开发广泛的动态业务应用程序已经是一种优势。但除此之外,还有很多好处可以帮助开发人员做出更好的决策。以下是微服务的一些优点:(1)部署过程更流畅,应用程序的一部分不会影响整个应用程序,因为它是一个服务一个服务地部署。(2)功能独立,易于理解。(3)微服务??架构有助于构建高弹性和高可靠性的应用程序。(4)应用中某个特定服务的故障仍然存在;它不会影响应用程序的全部特性和功能。(5)另一个好处是,在微服务架构上开发应用时,不同服务的代码可以用不同的语言编写。(6)使用微服务架构构建的应用程序通常不会出现停机。(7)提供基于单个架构所需资源的可扩展应用程序,而不是整个应用程序。(8)另一个额外的好处是给开发商的;它提供了一种简化的体验,因为他们不必了解整个系统;他们只需要了解他们正在处理的功能或服务,从而节省时间和金钱,并提高生产力。上面提到的只是使用微服务开发应用程序的一些重要好处,在应用程序开发过程中会遇到更多的好处。但请确保您了解微服务的缺点。虽然没有太多缺点,但只要工作高效完成,就可以排除这些缺点。它的主要缺点是,如果流程架构不正确,可能会导致开发人员的系统过度碎片化。此外,监控微服务架构有时会变得复杂,因为整个系统中存在多个故障点,这反过来又增加了应用程序测试的复杂性。3、使用Node.js构建微服务的原因在所有用于微服务应用程序开发的编程语言中,Node.js因其提供的特性和优势而被开发者广泛使用。以下是选择使用Node.js构建微服务的几个原因。(1)Node.js运行在谷歌V8引擎上,提高了执行时间,将函数编译成本地机器码,同时执行低延迟的CPU和IO密集型操作。(2)Node.js的事件驱动架构使其非常有利于事件驱动应用的开发。(3)Node.js库支持非阻塞调用,无需等待上一次调用返回即可继续工作。(4)使用Node.js构建的应用程序是可扩展的,这意味着执行模型支持通过将请求分发到其他工作线程来进行扩展。现在您已经了解了选择Node.js的主要原因,是时候学习如何使用Node.js构建微服务了。4.如何使用Node.js创建微服务使用Node.js构建微服务很容易,因为它有很多好处。这是有关如何构建微服务应用程序的分步指南。(1)第一步是确定业务需求,也就是说开发者需要了解自己的服务对开发微服务的需求。(2)第二步,将Node.js安装到系统中,安装NodePackageManager安装依赖。可以从NodeSource或Node.jssnaps找到基于Ubuntu和Debian的兼容Node.js二进制发行版。要管理这些发行版,您将需要fnm:一个快速简单的Node.js,它管理所有已发布的Node.js版本,并允许根据当前使用的目录自动安装、卸载和切换版本。它可以使用安装脚本进行安装。(3)下一步是设置服务器并识别和分配路由,创建和插入控制器逻辑,并建立与外部服务的连接。(4)创建路由、控制器逻辑、建立连接后,下一步就是构建外部API调用来处理第三方API。为了说明Node.js在微服务中的使用,将使用AccuWeatherAPI服务。可以创建一个免费的AccuWeather帐户。在您的系统上创建一个新文件夹并将其命名为Accuweather-microservice并在代码编辑器中打开它,确保您的系统已预安装节点。运行如下命令:node-v如果没有安装,可以去Node.js官网下载。在Accuweather-microservice中,运行命令来初始化package.json:Runnpminitornpminit-y使用npminit,你可以通过npminit-y自定义字段创建一个package.json文件;您可以使用默认字段来创建package.json文件。现在要安装所有必需的依赖项,您需要运行以下命令:runnpminstallExpressnodemonrequest经过上述步骤后,其文件将如下代码所示:":"0.1.0","private":true,"description":"使用带有AccuWeather数据服务的nodejs构建微服务","main":"index.js","scripts":{"test":"echo\"错误:未指定测试\"&&exit1","start":"nodeapp.js","dev":"nodemonapp.js"},"author":"","license":"ISC","dependencies":{"bcryptjs":"^2.4.3","cookie-parser":"^1.4.6",(5)创建package.json文件后,需要创建索引。js文件作为应用程序主文件,并在Accuweather-microservice文件夹中创建一个名为api_source的文件夹,其中包含要处理的控制器和路由要求。(6)现在,可以在主文件夹中创建一个服务文件夹,以构建一个与外部API连接并处理请求/响应的weather.js文件。(7)现在最后一步是执行,此时应用程序已准备好运行。上述步骤只是使用Node.js构建微服务应用程序的一个简短过程,它将有助于完成项目。现在您了解了微服务、它们的好处以及如何使用Node.js构建它们,接下来您可以做的就是开始处理项目。虽然不了解微服务可能会造成混淆,但在正确的指导下,肯定有可能开发出可扩展的一流应用程序。原文链接:https://dzone.com/articles/how-to-build-microservices-with-nodejs