Airbnb 的微服务架构
Posted 网站架构札记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Airbnb 的微服务架构相关的知识,希望对你有一定的参考价值。
原文:https://youtu.be/sakGeE4xVZs
Airbnb 最开始是一个 single repo Ruby on Rails 项目。前端用过 backbone 和 react,后端有Ruby 和 Java。
2014年之前的 deployment workflow 是:
Code review & CI
merge to master
staging, manual test
production
用于支持 deploy 的内部项目:
deployment dashboard
SCRAM: rollback system, error tracking,类似于 bugsnag 和 honeybadger
merge queue:确保merge to master 是有序的
随着这个single repo project 不断变大,Airbnb 开始采用 microservices architecture。
拆分为 前端 和 后端 两个部分
前端使用 react,但page 是使用 server side rendering 传回给前端的
后端
Airbnb 有700+ 个 microservices
synchronous communication 使用 thrift schema,比 json 的格式要求更严谨
asynchronous communication 使用 kafka
架构中使用的工具
service generation: 用于新开一个 service。自带 thrift 配置
所有配置文件放在一个 repo
deployment with Kubernetes
microservice 测试工具
infrastructure as code, using Kubernetes, Amazon EKS
以上是关于Airbnb 的微服务架构的主要内容,如果未能解决你的问题,请参考以下文章