gitlab架构科普

gitlab架构

底层存储由三个组件负责:
①PostgreSQL:类似于mysql,存储业务数据,比如有哪些项目组,某个项目组下有哪些项目,某项目下哪些人有权限等等
②redis:用于缓存热点数据以及存储异步任务,sidekiq这组件会定期拉取分发异步任务给worker执行
③gitaly:存储底层代码文件,提供rpc接口对外提供git操作服务

接入层由两个组件负责:
gitlab shell和gitlab workhorse,前者负责处理ssh请求,后者负责处理http/https请求
gitlab workhorse对于本地静态文件请求(例如浏览器请求的html、js、css文件)会自己处理掉,对于纯git操作请求会转发给gitaly,对于其他动态请求会转发给unicorn处理

unicorn就是gitlab的主server程序,它会调用其他各个组件完成复杂的动态请求处理

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐