0

我想知道在设计在线购物应用程序时可以遵循的一些最佳实践。我有兴趣主要了解以下几个方面。

  1. 可扩展性 - 我如何确保我的设计能够满足每年 20% 的预期用户增长的可扩展性观点。
  2. 性能瓶颈。

请围绕这两个方面分享一些想法。

4

3 回答 3

0

正如成员已经谈到上面的 3 层方法;我不会沉迷其中。但是,我认为您想从数据可扩展性的角度找到更多解释。

问题 1 的答案:越来越多的现代高数据密集型应用程序倾向于水平数据扩展方法。例如 DB 的分片,使用 BigData 或允许数据库水平可扩展性的 noSQL 环境。

3 层方法使此类可扩展性更改能够轻松执行。

对问题 2 的回答:我不确定您的问题是否正确地阐述了瓶颈区域。后端/服务器端 [我假设您正在谈论基于 Web 的应用程序] 或前端(浏览器端)可能存在瓶颈。很抱歉,但很难详细说明像“性能瓶颈”这样的广义术语。更具体的问题陈述有助于获得答案。

于 2012-08-27T05:15:05.170 回答
0

如果您不熟悉软件设计,您可以从一些分层架构开始:

  1. DAO 层
  2. 服务层
  3. 控制器/UI层

通过应用这些层,您可以在将来毫无问题地扩展您的应用程序。

示例:堆栈溢出

于 2012-08-26T08:27:18.620 回答
0

我认为在线购物应用程序类似于 MVC。

  1. 除非您的数据集大小超过 10GB 或 100GB,否则我不会直接跳转到 noSQL 数据库。因为在此之前,RDBMS 可以很好地扩展。因此,如果您认为您的数据集将超出该范围,请继续使用 noSQL。
  2. 这当然是一个广泛的问题。一些线索可能是:密切关注所有后端查询、所有 api 调用和所有进程。它可以进一步扩展,例如数据库设计(表的正常性),索引(基于您的查询/搜索/其他标准要求)需要根据您的要求精心设计/考虑。除此之外,遵循编码最佳实践绝对更好,以确保您的代码库对于您的开发人员来说是可维护的。你可以关注这样事情,那里有很多资源,包括专门用于前端和后端的资源。这一切又归结为您真正想要设计/开发的内容。关于性能,你'Apache 点燃以确保您的服务器之间的缓存一致性。
于 2018-05-26T02:57:55.130 回答