我正在开发一个新应用程序(应用程序2),我已经拥有一个具有体面用户群的现有应用程序(应用程序1)。在2个Web应用程序之间共享数据
应用2是针对相同的用户群,用户可以使用或应用中任一项两者,如何可以跨应用共享用户数据(多实体)?
选项1 - 共享数据库听起来像一个坏主意,因为我最终会在2个不同的地方写验证规则。
选项2 - 中央服务和数据存储将意味着重新编写应用程序最多1这是运作良好和代码库是非常巨大的。
选项3 - 将App 1数据存储视为中央数据存储并将其公开为API。应用2可以使用它来读取和写入数据。我仍然有这个解决方案几个问题 - 在应用程式2.缓存数据。这会导致其他问题
- 应用2现在依赖于应用程序1,这意味着应用1问题会影响应用程序2.我可以解决这个问题。
- 在App 1中更改的数据没有立即反映在App 2中,这是要求之一。我可以通过pub/sub模型应用1和应用2
- 应用2之间解决这个总是使用API将数据写入到App 1个数据存储,我可以将数据传输回应用程序2,但随后其并不一致,而这是最终一致。
- 应用程序2将数据写入其自己的数据存储,然后将其异步推送至应用程序1。这会导致数据冲突问题。
我该如何处理这个问题,而在我的两个应用程序引入巨大的复杂性。
1.两个应用程序都是用php 。 2.我确实有一个适用于应用程序1的API。如果我直接在应用程序2中使用它,我担心应用程序2的性能。 – abhinavlal 2013-04-11 00:18:31
您甚至不应该那样做,我的意思是让App 2使用Api 1.您能够从App 1中提取REST API? – Marco 2013-04-11 15:16:54