【发布时间】:2020-12-16 13:37:37
【问题描述】:
我不希望我的应用程序依赖于 API,为此我想创建一个数据库,它会定期从 API 中提取数据、处理/优化它,然后将数据推送到数据库中。
应用程序应该只与数据库通信以获取所需的任何内容。
另一方面,API 和数据库有自己的通信通道,使两个进程互为独占。
应用程序“A”仅与数据库“B”通信。 'B' 与 API 'C' 通信,定期执行其任务集。 “A”和“C”不交互。
对这种方法有什么建议吗?对数据库的要求是必须是 NoSQL。
【问题讨论】:
-
这种方法很好,因为您将显着降低对 API 的调用,并在本地处理数据。一个考虑因素是,如果在一段时间后不准确,提取的数据(在您的数据库中)会有多好?
-
这个想法是每 x 小时更新一次数据库,并删除在应用程序上下文中“过期”的数据(在 x 小时之后)。取决于数据库的结构。
-
是的,那么 tat 将解决
old data问题。很好。 -
谢谢!罗恩,我无法弄清楚在 B 和 C 之间执行这些任务(从 API 中提取数据、预处理、推送到数据库、从数据库中删除过期内容)的“位置”。你能提出一些建议吗?
-
嗯,你可以使用多种编程语言来做到这一点,Python、PHP、C#,甚至是命令行工具、BASH 等脚本...... Perl .. 这取决于你 :)
标签: database api architecture nosql