我们正在开发两个web应用程序,webapp#1是一个商店应用程序,基于spring的基于mysql的应用程序,另一个(webapp#2)是webapp#1的后台应用程序。两个具有共享数据的web应用程序
我们希望backoffice操作(webapp#2)不会影响webapp#1的数据库,这需要具有非常高的可用性。
我们面临的问题是如何共享(如果有的话)与这两个webapps相关的实体。
例如,为了让后台在商店产品上生成按需报告,它必须在实体“产品”和“存储”上进行汇总。
现在,“Product”和“Store”显然是位于webapp#1架构中的实体,但为了让webapp#2(backoffice)生成报告,它必须具有相同的实体。
那么,我们究竟能做到这一点呢?我们应该在两个webapps模式上复制“Product”和“Store”吗? (并且遭受冗余数据),冗余甚至是现实生活中的实践吗?这似乎太糟糕了。
请记住,如果模式仅在Web应用程序#1中,那么后台应用程序可能会在生成报告时产生干扰。
报告场景不是真正的问题,它只是一个例子。
最佳,
它是只读访问是干扰还是读写? – Fildor
读访问也是干扰,因为一些查询是巨型复杂 – Urbanleg
我认为这是不是一个好主意,在高可用性数据库上启动报表生成查询。您需要有某种临时数据库才能启动报告生成查询。 – Vishal