gpt4 book ai didi

java - 店面和后端有单独的项目还是单个项目更好?

转载 作者:行者123 更新时间:2023-12-02 12:16:47 24 4
gpt4 key购买 nike

我正在运行一个使用 Spring 和 Hibernate 用 Ja​​va 构建的电子商务网站。如果我必须简要描述当前的架构,那么它是这样的:

  1. 两个项目 - 店面管理
  2. Storefront 项目包含用于显示网站店面 View 的 dao、模型、服务、 Controller 和 View ,还包含应用程序的 API
  3. Admin 项目包含 dao、模型、服务、 Controller 和 View ,用于显示管理此电子商务商店的后端/管理界面。
  4. 店面和管理员都独立地与通用 MySQL 数据库进行通信,并且每当这两个项目之间需要任何通信时,他们都会使用 REST API 进行通信。
  5. 我遵循此架构独立开发这两个项目,保持轻量级并独立部署。

但我不太确定这是正确的做事方式。我经常遇到的主要问题是:

  1. 它通常会导致代码重复,主要是在模型中,因为这是两个项目都拥有的东西,但其中的大多数属性是通用的。
  2. 如果需要对数据库进行任何更改,那么我必须确保在两个项目中正确进行这些更改,因为两个项目都在进行独立的数据库调用。

请建议处理和构建此类项目的最佳方法是什么。网站统计数据为:

  1. 大约 100 万种产品
  2. 每月流量约100万
  3. 每天订单量在1000左右

我们希望在未来 9 个月内实现流量和订单的更多增长。因此,请建议牢记 future 的可扩展性。

最佳答案

共享通用模型:对于可能增长且易于频繁更改的应用程序之间共享的通用模型,您可以将该模型设为一个单独的项目,在每个项目中都具有其 pom 依赖项。更好的是让该项目保留 json 模式定义,并使用 Maven 插件(假设您使用的是 Maven)在构建期间将它们转换为 POJO 并添加到项目类路径中。请引用jsonschema2pojo

网站统计/流量增长: 为此,请考虑为您的 Web/应用程序服务器添加多个节点进行负载平衡集群(如果您尚未完成)。这将有助于提高应用程序的可用性并处理大流量。

可能还有其他更好的解决方案,但这些点值得考虑。我对您的其他观点有一些想法,但我觉得与具有更多架构知识的其他人一起可以找到更好的解决方案。

希望这些想法有所帮助。

关于java - 店面和后端有单独的项目还是单个项目更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com