实现大型网络应用程序的正确方法是什么

What is the right way to realize a large web app

我必须实现一个能够保证执行两个主要操作的网络应用程序:

第一个操作是允许少数用户上传广告或帖子,这些 A 用户可以根据需要在应用程序中上传广告,但他们可以上传照片,直到达到 5 MB 的总阈值。此外,广告总数将约为 10k。

第二个行动是允许广泛的 public(每天 1k 用户)查找和检查 A 用户发表的文章,这些研究将可以更准确地插入高级过滤器。

我想知道是否绝对有必要以可扩展的方式构建我的应用程序,或者我是否可以简单地使用 MVC 方法? 此应用程序将使用 Laravel 框架开发,并将由亚马逊服务器托管。 你建议我做什么?

我想得到一些建议、提示和技巧,以最好的方式做到这一点。

提前致谢

MVC 方法很好,Laravel,或者任何平台,都可以通过多种方式进行扩展。最简单的就是把DB、laravelapp、cache、queue的功能分离到分离的server上,每一个都可以单独伸缩​​。

网上有很多关于此的视频,https://serversforhackers.com/scaling-laravel/forge.

但是除非您知道您马上就会有大量流量,否则最好从一个更简单的结构开始,这样可以节省成本,而且以后扩展它也不难。我的意思是,现在从一台服务器开始,然后可能将功能(缓存、数据库等)分离到不同的服务器,因为您发现它们需要扩展。

如果你想省点麻烦,我推荐 Laravel Forge, and Envoyer。它使部署和管理服务器变得更加容易。 Envoyer 用于部署,非常适合自动化所有这些。