下一步是用作全栈可扩展的 kubernetes 部署吗?

问题描述 投票:0回答:1

我正在尝试使用 nextjs 和 spring boot 设置一个前端作为我公司内部产品之一的后端。我的同事建议也研究一下 nextjs 的后端。

SSO 将用作产品的身份验证,入口将用作 kubernetes 节点(至少 3 个节点)之间的负载均衡器,其中 mysql 作为带有 galera 集群的数据库(至少 2 个节点用于数据库)。

如果我使用 nextjs 作为全栈框架,此设置是否有效?

目前已经实现了它的前端并尝试托管它。成功了。

Nextjs 版本:14.0.4

reactjs node.js next.js kubernetes-helm
1个回答
0
投票

使用 Next.js 作为前端和后端的全栈框架当然是可能的,但澄清所提出的架构的某些方面很重要。

  1. Next.js 作为全栈框架:

    • Next.js 主要设计为前端框架,但随着 API 路由的引入,您可以在 Next.js 应用程序中创建后端功能。这对于构建轻量级后端服务非常有用。
  2. Spring Boot 作为后端:

    • 如果您打算使用 Next.js 作为全栈框架,则后端可能不需要 Spring Boot。相反,您可以利用 Next.js API 路由来实现无服务器后端功能。但是,如果您有 Spring Boot 满足的特定要求,或者您想要更传统的 RESTful 后端,您可以保留它。
  3. SSO 用于身份验证:

    • 确保您的 SSO 实施与前端和后端保持良好一致。 Next.js 可以与各种身份验证提供程序集成,而 Spring Boot 可以单独处理身份验证。确保它们与您选择的 SSO 解决方案无缝协作。
  4. 入口和负载平衡:

    • Kubernetes Ingress 是节点间负载均衡的不错选择。确保您的 Next.js 应用程序和 Spring Boot 后端在跨多个节点分布时可以正确处理流量。
  5. MySQL 与 Galera 集群:

    • 将 MySQL 与 Galera Cluster 结合使用是实现高可用性的不错选择。确保前端和后端的数据库连接设置都配置为与 Galera 集群一起使用。
  6. 版本兼容性:

    • 确保Next.js、Spring Boot和其他依赖项的版本相互兼容。您的 Next.js 版本 (14.0.4) 应该可以正常工作,但请验证它是否与您正在使用的依赖项兼容。
  7. 部署和扩展:

    • 考虑如何部署和扩展您的应用程序。 Docker 和 Kubernetes 等工具可以帮助实现容器化和编排。确保您的部署策略同时考虑前端和后端组件。
  8. 监控和记录:

    • 对前端和后端组件实施适当的监控和日志记录。这对于识别和解决分布式系统中的问题至关重要。

总而言之,使用 Next.js 作为全栈框架是可能的,但您需要仔细规划并确保每个组件(前端、后端、数据库、SSO、负载均衡)都正确集成和配置。彻底测试,尤其是在 Kubernetes 环境中,以确保设置稳健且可扩展。

© www.soinside.com 2019 - 2024. All rights reserved.