我很快就开始了一个新项目的工作,并且想知道是否要创建多个应用程序(彼此的相当多的副本)或一个应用程序(或使用某种单点登录)。每个'app'都有自己的域名。
应用程序非常简单,人们可以注册该网站并为他们的猫或狗创建个人资料。然而,由于有些人有猫和狗,所以不让他们两次注册会很好。此外,我认为很多用户也想扩展到其他宠物,如兔子,老鼠,雪貂等等。
这将是一个Rails应用程序,所以我想知道我的选择是什么。
但哪种效率最高?缓存会有问题吗?哪个最有意义?
如果您有关于如何进行首选方法的任何链接或信息,那也是值得赞赏的!但在现阶段,我主要是询问哪种方式最合乎逻辑。
答案 0 :(得分:1)
总是更少,特别是在项目的早期。
我已经学会了永远不要拆分代码库,直到它绝对明显必须完成。
制作2个应用程序意味着在很多方面工作量的两倍。两个bundle exec rails server
要运行,两个bundle exec rspec
要运行,cd ..
,cd web_app1
,cd web_app2
一遍又一遍。
您还必须部署两个应用程序。
所以,制作一个应用程序。如果需要,稍后将其拆分。
如果它们位于同一子域中,您可以共享Cookie,并轻松实现SSO。
作为部署考虑,没有理由不能使用像nginx这样的东西将它们放在完全独立的域之外。
答案 1 :(得分:0)
如果您计划在每个域上拥有多个具有单独应用程序的域,则可以拥有一个可以容纳所有共享资源(图像,CSS,javascript,数据等)的“中央”域(或服务器)并提供负载平衡和提高性能的能力。连接所有东西并保持一切运行可能需要做很多工作,这取决于你的情况。