Himeji:Airbnb 的一个可扩展集中式授权系统
摘要
在过去的几年里,Airbnb 爱彼迎的工程团队从单体 Ruby on Rails 架构转变成为了 SOA 面向服务的架构。在我们的 Rails 架构中,每个资源(resource)都有一个单独的 API 来访问底层数据, 这些 API 都有授权检查来保护敏感数据。当时由于访问资源数据的方式单一,因此管理这些授权检查很容易。在向 SOA 过渡的过程中,我们转向了分层架构,其中有封装数据库的数据服务(data services),也有从多个数据服务提取的展示层服务(presentation services)。将权限检查从单体转移到 SOA 的最初方法是将这些检查转移到展示层服务。
欢迎在评论区写下你对这篇文章的看法。