在本教程中,您要将 node.js 应用程序整体部署到 Docker 容器,然后在不会造成停机的情况下将应用程序分离成微服务。此 node.js 应用程序托管包含用户之间的线程和消息的简单留言板。

传统的整体式架构很难扩展。随着应用程序代码库的发展,更新和维护工作将越来越复杂。推出新功能、语言、框架和技术变得非常困难,这限制了创新和新想法。

在微服务架构内,每个应用程序组件会作为自己的服务运行,并通过明确定义的 API 与其他服务通信。微服务根据业务功能构建,每项服务执行一种功能。可以使用不同的框架和编程语言编写微服务,并将其作为单个服务或一组服务单独部署。

在本教程中,我们将向您展示如何在 Docker 容器中运行简单的整体式应用程序,将同一应用程序部署为微服务,然后在不造成停机的情况下将流量切换至微服务。完成后,您可以将本教程及其中的代码用作模板,并在 AWS 上构建和部署您自己使用容器封装的微服务。

应用程序架构
整体式架构

整体式架构

整个 node.js 应用程序作为一项服务在容器中运行,而且每个容器具有与其他所有容器相同的功能。如果一项应用程序功能遇到需求高峰,那么整个架构必须进行扩展。

 
微服务架构

微服务架构

node.js 应用程序的每项功能都会作为独立的服务在自己的容器中运行。这些服务可以单独扩展和更新,而不影响其他服务。

AWS 使用经验:中级

时长:2 小时

费用:本架构中使用的每项服务均可享受 AWS 免费套餐。如果超出免费套餐的使用量限制,则您只需支付不到 0.25 USD* 即可完成此教程。

使用的技术:要完成本教程,您将使用:

*此估算值的前提是:您在整个教程中遵循建议的配置,并在 24 小时内终止所有资源。

**过去 24 小时内创建的账户可能尚不具有访问完成此学习路径所需的所有资源的权限。