我正在开发一款新应用(应用2),我已经拥有一个拥有不错用户群的现有应用(应用1)。
App 2针对的是同一个用户群,用户可以使用任何一个应用程序或两者兼而有之,我如何跨应用程序共享用户数据(多个实体)?
选项1 - 共享数据库听起来像个坏主意,因为我最终会在两个不同的地方编写验证规则。
选项2 - 中央服务和数据存储将意味着重新编写大部分应用程序1,它运行良好且代码库非常庞大。
选项3 - 将App 1数据存储区视为中央数据存储区并将其公开为API。 App 2可以使用它来读写数据。对于这个解决方案,我仍然没有什么问题 -
如何在不引入我的应用程序的巨大复杂性的情况下处理此问题。
答案 0 :(得分:1)
这是我的两分钱。
最简单的方法是让您共享同一个数据库,并且由于您提到数据库可以共享,这意味着来自App1的域规则仍然适用于App2,即使存在一些差异,也更好写下这些变化而不是写下整个事情。
现在,你确实有一个大问题IMO,因为如果我理解得很好,你就没有合适的服务层,因为如果你这样做,你实际上可以对DAL进行任何更改而不影响现有的1。
在我能够进一步发展之前,我实际上需要了解您当前的架构,否则我最终会做出错误的假设。
<强>更新强>
因此,您现有的应用程序是用PHP构建的,如果您从App 1中提取REST API并将其放在一个全新的PHP解决方案(站点)中,该解决方案可以作为Service API在App 1和App 2之间共享,那该怎么办? ?我相信这对你来说是最简单的方法。
答案 1 :(得分:0)
我不能说我已经了解了你的具体情况,但是我倾向于转向一个解决方案,在这个解决方案中你有一个处理用户的新服务,而且这两个应用都会使用它。
那就是说,它不一定是一个大爆炸的举动。您可以首先在app1中的用户数据之上添加适当的API。并使app2使用它。然后你可以在app1中添加一个抽象层,它与新API对话,看起来像App1内部API到APP1,然后才将数据移动到新数据库,这将是新服务