去API或不去

Bru*_*nes 5 ruby api performance json ruby-on-rails

我的公司有这个巨大的数据库,可以从多个来源获得(许多)事件,用于监控和报告.到目前为止,数据中的每个新仪表板或图形都是一个新的Rails应用程序,在巨大的数据库中有额外的表,并且可以完全访问数据库内容.

最近,有一个想法让我们的数据外部(如我们的公司,而不是我们公司,但不是我们的公司)客户端,并且已经决定我们应该公开一个只读的RESTful API来查阅我们的数据.

我的观点是 - 我们是否应该为自己的项目使用API ?访问RESTful API,即使是"本地"项目,而不是直接访问数据库,这是否过度?我认为在统一我们团队对数据的访问权方面会有所回报 - 但这是否值得额外的往返?RESTful API能否满足每秒运行20次左右的查询并通过JSON公开结果的需求?

感谢您的任何意见!

Bri*_*new 5

我认为有一致性可以说很多.如果您为您的客户提供API,在我看来,通过使用相同的API,您将更好地理解它.为您的客户提供支持,您将定期对其进行测试(超出您的回归测试),并且您发送的消息表明它足以让您使用,因此对您的客户来说应该没问题.

通过隐藏背后API的一切,你可以自由更改数据库表示并没有改变这两个 API接口代码(提出通过API的数据),并且在内部应用程序的数据库访问代码.你只会改变前者.

最后,这些性能问题实际上只能通过尝试和测量来解决.也许值得将原型API系统拼凑起来并在负载下研究它?