|
|
51CTO旗下网站
|
|
移动端

壮大国产开源阵容!斗鱼首次开源自家项目

近年来,得益于日渐增长的高并发业务需求,微服务架构开始在国内逐渐普及,而近年来,国产的开源项目越来越多,这不,前不久,斗鱼也拥抱开源,首次开源了自家项目。

作者:猿妹来源:开源最前线|2020-07-24 11:17

近年来,得益于日渐增长的高并发业务需求,微服务架构开始在国内逐渐普及,而近年来,国产的开源项目越来越多,这不,前不久,斗鱼也拥抱开源,首次开源了自家项目。

斗鱼此次开源的是一套微服务治理框架——Jupiter ,经过三年的研发和打磨,最终得以开源在线上验证。Jupiter能够提供丰富的后台功能,管理应用的资源、配置,应用的性能、配置等可视化。斗鱼表示,之所以取名为Jupiter,是因为它是罗马神话的众神之神,在天界掌管诸神,在互联网掌管所有微服务!

Jupiter的架构如下图所示:

Jupiter具有以下功能特性:

  • gRPC:基于官方 gRPC 开发,集成流控和多数据中心方式的服务注册,支持多种 roundrobin,p2c 等负载均衡策略;
  • 配置:使用 toml、yaml 方式管理配置,规范化核心配置,结合远程配置中心,实现配置版本管理和更新,查看配置依赖关系;
  • 日志:基于 zap 日志类库,实现高性能日志库,并对不同环境和条件,实现日志库的自动降级,并对服务端,客户端的慢日志通过配置条件,实现全部慢日志接入;
  • 监控:基于 prometheus go sdk 类库,实现对服务端,客户端的数据监控,并与 prometheus、cond、etcd 数据打通,实现应用自动化数据采集;
  • 数据库:基于 gorm 的封装,将数据库的 trace,慢日志,监控进行了采集;
  • 缓存:基于 go-redis 的封装,将数据库的 trace,慢日志,监控进行了采集,并实现了单个 redis、多从库 redis,客户端 redis 分片,服务端 redis 分片的 api;
  • 系统错误码:区分框架和业务的错误码,将框架错误码文档自动生成,自动化的错误码 SRE 分析工具;
  • 工程化:基于服务标准、创建、开发、运行、治理等生命周期,完成了Jupiter对项目的工程化;
  • 服务治理:基于监控,etcd,配置中心,对服务实现了良好的可观测性,可控制性。

Jupiter Go正在快速迭代,v0.5.0包含了基本的架构骨架,后续还将添加更多功能,目前在Github标星1.8K,,感兴趣的时候可以尝试一下哦,最后附上Github地址:https://github.com/douyu/jupiter

【编辑推荐】

  1. 酷!GitHub开发者自制火星车,完整教程全面开源
  2. 突然宣称掌握5G技术 印度制造还是印度组装?
  3. Gartner 2020八大供应链技术趋势
  4. 为什么很多互联网公司要组建自己的技术团队,而不是选择外包?
  5. 微软最新发布了 Pylance,但并不开源,程序员怒了
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

大数据安全运维实战

大数据安全运维实战

CDH+Ambari
共20章 | 大数据陈浩

91人订阅学习

实操案例:Jenkins持续交付和持续部署

实操案例:Jenkins持续交付和持续部署

微服务架构下的自动化部署
共18章 | freshman411

179人订阅学习

思科交换网络安全指南

思科交换网络安全指南

安全才能无忧
共5章 | 思科小牛

109人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微