9月10号,华为HDC大会如期召开,余承东先生在大会上宣布鸿蒙开源,并公布了以 Gitee 为主托管仓的地址。鸿蒙的开源前期可以说是吊足了国内外开发者的胃口,所以早在2019年红薯老大就开始不断的给我预热鸿蒙开源这件事情可能带来的巨大的访问量,这对于 Gitee 来说,就像是面试7年的一次大考,如果做不好,可能是一次大劫,所以无论是站在中华有为的角度还是以 Gitee 负责人的角度,我压力倍增,无论如何,在可能到来的访问量上,Gitee 需要顶住,当然不是说说,准备工作一定要做足。
最近看到了一篇文章,细讲了各种分布式调度原理,其中加权轮询算法(Weighted Round-Robin)应该是离我们最近的一种方式了,Nginx 的 Upstream 就是用的这个算法,这个算法可以根据权重使得每个服务器能够均匀的负载请求,本篇主要就是来总结下使用这个算法以及 Go 内置的方法来实现一个简单的加权轮询的 HTTP 负载分发代理,并对负载分发及路由做一些延伸思考。
众所周知,Git 是当前最流行的分布式版本控制系统,近两年由于 DevOps 的迅速发展,一切皆代码正在成为标准实践。而这一切,都需要有一个配置管理中心统一管控,Git 毫无疑问的成为了这个领域的宠儿。日常开发工作中,我们经常用不同方式去下载和上传代码到 Gitee,那么这背后是如何实现的呢,让我们一起来聊聊 Git 不同的传输协议以及具体的实现。
码云 Gitee 自2013年推出以来,每年的数据量都是倍增的,截止到2021年3月份,Gitee 上已经有了600万+的开发者,超1500万的仓库,成为了国内首屈一指的研发协作平台。在数据日益增长的过程中,Gitee 的架构也是经过了数个迭代,才能支撑起目前的数据量级。我曾在不少的大会上分享过 Gitee 的架构,也和很多有类似场景的同学一起讨论过,偶然被问起有没有专门的文章来介绍 Gitee 架构的,所以难得假期有时间,将此主题整理成文,以供大家参阅。