我有一个应用程序A
严格 与应用程序B
一起使用。它们是一大堆的一部分。
目前,他们通过HTTP调用互相交流。当应用A
需要某些内容时,它会向应用B
发送HTTP API调用。但由于HTTP比Redis调用慢得多,我考虑改变我的流程,因为使用Redis set / gets而不是HTTP调用。
没有任何其他应用需要与A
和B
具有相同的关系。
那么,是否正在使用Redis在两个应用程序之间共享数据而不是API调用以防止关注点分离?
答案 0 :(得分:0)
那么,是否正在使用Redis在两个应用程序之间共享数据而不是API调用以防止关注点分离?
关注点分离是关于你的代码没有与其他类/系统紧密耦合。如果您将应用程序硬件连接到Redis,那么您已经违反了SoC原则。
目前,您似乎拥有消费者 - 生产者架构。做你打算做的事情意味着你正在转向基于存储库的arcitecture。
主要问题是你将如何组织你的组件。
看起来你可以按照以下方法之一进行操作:
Redis在与应用程序A(或B)相同的服务器上运行,应用程序B(或A)在需要时通过网络访问它。
Redis在应用程序A和B服务器上运行,作为群集运行。
Redis在单独的服务器上运行,应用程序A和B服务器将在必要时通过网络访问它。
此外,您可能必须在redis实现之上创建一个层,以将您的应用程序与特定存储实现分离。
只有一个数据访问点而不是两个点会引导您走向SoC原则,而不是相反。