我正在尝试设置一个Rails项目,该项目有两个逻辑上分离的组件,即管理面板和用户门户.从我到目前为止所读到的,有很多方法来设置它;
>将单个Web应用程序与单个数据库结合使用
>为管理员和主要应用程序分离Web应用程序,但使用通用数据库
>使用单独的数据库分离Web应用程序
>合并两者但部署单独的实例,一个作为Admin运行,另一个作为Main应用程序运行
主应用程序将需要处理繁忙的流量,管理员适度低.
在四个选项中设置项目的最佳方法是什么?
还有什么可能是每个的缺点?
还有其他方法可以做得更好吗?
解决方法
关于可能的架构解决方案的一些想法
1.将单个Web应用程序与单个数据库结合使用
优点:
>您拥有单一项目配置下的所有内容,
这样就可以避免两次配置项目设置.
>您可以重复使用代码而无需复制文件或参考文件
在不同的目录中,有时可能会很麻烦.
缺点:
>安全性,可以在系统中将事物颠倒过来的功能
在与用户相关的代码的同一屋檐下,所以它有更大的概率
管理员相关的功能可被恶意用户利用.
2.为管理员和主要应用程序分离Web应用程序,但使用通用数据库
优点:
>在不同的应用程序中将代码与不同的上下文分开,使事情更简单
并且用户体验更加简洁.
缺点:
>由于第二个应用程序存在的原因是操纵数据和
在主应用程序中,它必须读取并影响主应用程序中使用的数据;因此减少了开销.
在大多数情况下,这将是最好的情况.
3.使用单独的数据库分隔Web应用程序
在第二个应用程序出现时,想不到为什么要这样做
处理第一个和数据库的内容.
如果你要去
在第二个应用程序中使用与您的数据无关的大量数据
主要应用,这将是一个合理的选择.
4.组合两者但部署单独的实例,另一个作为Main应用程序运行
缺点: