使用GitHub和Jekyll的大规模数据驱动应用


在过去的几周里,我已经把我的GitHub驱动的、Jekyll驱动的应用交付过程推向了一个新的水平。我已经投资了更多的周期my API Stack work,当我建立一个API gallery for Streamdata.io。作为应用编程接口传播者,我的所有工作长期以来都是作为独立的GitHub存储库而存在的,这些存储库以JSON或YAML为核心,为我的网站、应用程序和应用编程接口开发人员门户驱动静态的Jekyll用户界面。设计成独立的、数据和应用编程接口驱动的微解决方案,与我的应用编程接口研究的某些方面相关。我只是在调高已经存在的音量。

Image title

我正在用我的API发现方法把这个提升到一个新的水平。API Stack曾经是一个单独的GitHub存储库,包含大量的APIs.json和OpenAPI定义,但是在达到存储库的最大规模之后,我开始按照实体、主题和集合来划分项目。到目前为止,我有285 entities有9,850个应用编程接口路径spanning 397 topics。每个实体和主题都存在于自己的GitHub存储库中,作为一组独立的应用编程接口定义,包括一个OpenAPI、邮差集合和APIs.json索引,允许我独立地向前推进实体的每个应用编程接口定义,并开始按主题、行业或其他相关领域将APIs聚合成有趣的集合。

这些项目没有后端数据库。嗯,有一个中央系统,我用它来帮助我安排事情,但是每个项目都是独立的,它需要的一切都存储在GitHub存储库中。起初需要一些工程和时间来建立,但是现在它已经建立,管理它实际上相当容易。这种方法还允许我在没有任何额外性能问题的情况下扩展它。我添加的每个实体都变成了它自己的回购,除非我在一个组织中能够拥有的存储库数量上达到某个神奇的数字,否则我应该能够很快扩展到几千个回购。对主题和我正在聚合的其他类型的集合做同样的事情。

每个实体存储库都有其提供者的OpenAPI和邮差集合。我还将每个单独的应用编程接口路径分解成它自己的开放应用编程接口定义,并考虑对邮差集合做同样的事情——将事物提炼到它们可能的最小计算单元。每个存储库的APIs.json索引了OpenAPI、邮差集合,以及APIs操作的其他元素,如文档、博客、推特账户和GitHub账户。将来,我将在这里发布其他机器可读的工件,包括计划和定价、服务条款、监控、性能以及我所做的API部门的排名和概要分析的其他方面的细节。

我已经准备好轻轻地启动流数据io的应用编程接口库,但是我的应用编程接口堆栈工作将继续是我这类应用编程接口发现工作的工作台。我将继续收集、抓取和分析应用编程接口及其操作,当它们成为焦点时,我将与Streamdata.io的应用编程接口库同步,并看看我如何帮助邮差的应用编程接口网络和应用编程接口. guru的目录,以及其他应用编程接口聚合和集成平台,如AnyAPI、APIDeck等。我只是到了这样一个地步,我觉得事情正在如我所愿地运转,并准备好让我换到更高的档位。单个实体和主题仍然有很多问题,但是这个过程运行得很好——我只需要花更多的时间来完善应用编程接口定义本身,并努力与这个领域的其他工作同步。

现在,我大量使用GitHub API来完成所有这些工作,但我可能会转向依赖Git来完成最繁重的工作。然而,作为一个有30年数据库经验的人,我必须承认,我很享受交付JSON驱动和YAML驱动的API驱动的连续部署和集成项目的范围,像这样的项目有一个机器可读的层,但也有一个供人类使用的用户界面层。它为我提供了一种非常应用编程接口的方式来驱动我如何分析应用编程接口,量化它们做什么,并开始对不断增长的应用编程接口环境进行排序和理解——继续我在公开场合做事情的方式,同时希望在OpenAPI和邮递员集合驱动的应用编程接口领域中为应用编程接口发现对话提供更多的价值。