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