最近,我一直在为单个页面应用程序(SPA)和后端的API开发一个相当大的Vue.js系统。客户关心的是安全性、性能和可维护性。
因此,我认为API分成了三个独立的部分:
前面将有单独的应用程序:一个用于管理角色用户帐户、监视日志等的安全api,另一个用于复杂业务功能的业务应用程序。
我想知道:
发布于 2019-01-26 11:47:39
您的需求似乎涵盖了两个非常不同的需求和功能:
将两者结合在一个应用程序中会使应用程序的维护变得更加复杂,这可能还会导致更复杂的用户界面。如果大多数用户同时使用这两种功能,则采用这种方法(例如,如果业务用户为其他用户管理自己的权限,以及业务用户需要查看日志以进行验证或审核)。在所有其他情况下,为两个不同的用户群体设置两个前端比使用不便有更多的优势。
API上的
API、后端和数据库是不同但相互关联的主题.虽然你的问题很广泛,但这里有一些评论,可以帮助你找到最优的解决方案。
如果您所识别的3个API子部分的功能非常独立/封装(情况似乎是这样),那么您可能会受到启发,选择一种基于微服务的体系结构,其中每个微服务都有自己的API和它自己的数据库。
然而,微观服务需要范式的转变和重大的重新设计,这可能并不总是可取的,甚至是不可行的。您可以很好地实现高可维护性,方法是仍然拥有一个完整的第二层后端,但是使用干净的体系结构和可靠的设计。可以通过运行几个二级(负载平衡)来实现可伸缩性。但在这种情况下,在我看来,一个数据库似乎是更实用的方法。我假设数据库将在第三层上,第三层只能从第二层访问,而第二层本身使用的是经过消毒的API。
https://softwareengineering.stackexchange.com/questions/386148
复制相似问题