[Day27] 透过GCP实作(3/4):建立RealTime Database即时读入/存取资料

从昨天所提及的架构,让你在爬虫获取资料的情境下使Cloud Function能各司所职。
并使维护专案的难度下降。
今天的文章会简单带各位了解RealTime Database可以如何被运用到你的专案上。
而 Cloud Function 传递资料的流程会发生什麽变化

架构图

pic
基於昨天的基础架构,现在我们的Cloud Functions依旧执行类似的任务,
但在两者资料传递间多了一个资料库来协助暂存资料。
因此两个Cloud Functions现在推送或拉取资料的对象变成我们的资料库。

使用Firebase RealTime Database


它是一种NoSQL型态的资料库,使用键与值来储存与索引资料。
透过它我们可以轻易地建立可以即时同步数据的小型资料库!

在我们的专案中,他可以协助我们解决以下情境的问题:

  • 爬虫抓取的资料需要不断被存取,但过於频繁读取原始网页爬虫机器人可能会被封锁权限无法读取资料。
  • 你使用的Open API是更新频繁的资料,而且你建立的Action之主要功能需要频繁读取资料。
    但Open API设有每日读取资料之上限。因此需要有第二方案来存取资料。

参考资料与延伸阅读

下一步...

现在你已经建立起一组 Cloud Function 以及介於两者间的资料库了
看似很美好,但Cloud Function本身是事件驱动(event driven)的服务。
无法自行协助我们进行资料拉取以及上传的动作,这导致你的Action去资料库会拉不到所需的资料。
因此,在明日的文章中将会简述如何透过GCP服务的帮助解决这个烫手山芋!


<<:  JavaScript Day12 - DOM(1)

>>:  [Day27] 布林通道策略

未完,待续..........

铁人赛虽然结束了,但更新还会继续,只是不能保证每天都更新了。 通过这次铁人赛,我发现,每天一篇文章,...

前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day3 建立 React 网页

连续 30 天不中断每天上传一支教学影片,教你如何用 React 加上 Firebase 打造社群...

Day 28 : 应用篇 — 如何透过 Obsidian 帮助知识工作者写作 ? 分享我的 Obsidian 写作流程

前言 近期陆续收到许多朋友的来信,询问 Obsidian 可以如何应用。经过几次的讨论,我发现许多人...

纪录location herf在IIS发行後无法使用问题

原本的写法在VS里是可以执行的,但发布到IIS上时会因为找不到路径从而跳出404 not foun...

JavaScript Day 11. 筛选条件 filter()

阵列中常用的方法还有 filter() 跟 map(),filter() 方法可以根据指定的筛选条件...