Jupiter是什么

作者:病娇の爱  更新 :2023-02-20 05:34:43   开源  开源框架  微服务  斗鱼  

最佳答案Jupiter是斗鱼开源的一个面向服务治理的Golang微服务框架,以开发效率和治理效率为核心目标,从统一开发规范、完善监控埋点、降低开发难度等多个维度帮助Gopher开发高性能、高可靠性的微服务框架。

Jupiter 斗鱼开源是一套微服务治理架构,提供丰富的后台功能,管理应用资源、设备、应用性能、设备等可视化。

Jupiter是什么

Jupiter 服务治理是一种服务治理 Golang 微服务框架以开发效率和治理效率为核心目标,从统一开发规范、完善监管埋点、降低开发难度等维度协助 Gopher 开发高性能、高可靠性的微服务框架。

架构图

Jupiter是什么

Jupiter 它是罗马神话的众神之神,在仙界执掌众神,在网络上执掌全部微服务!

目标

致力于将 Go 规范微服务框架,统一错误码、日志、监管、注册、流量控制 Schema。对微服务的每一个模块进行观测、整改,管理微服务研发侧的全套生命期。

功能点

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,配置中心,对服务完成更好的可观测性、可控性;

快速开始

规定 Go version>=1.13 and MODULEGO11=on

组装

go get -u github.com/douyu/jupiter/tools/jupitercd /path/to/workspacejupiter new jupiter-demo

理念

工程化

目前,大多数架构侧重于协议和解码,过于关注关键技术。架构在生产过程中会造成很多工程问题。

因而 Jupiter 针对公司级工程方案,以服务要求、建立、开发、运营、整改为全生命期 Jupiter 部分以工程效率、工程质量、工程稳定性为指标,克服了大量的工程问题,降低了研发人员的项目成本。

制定标准:建立服务配置、链接、监管、header 一等规范;脚手架:可通过cmd完成服务的建立、更新等服务;服务设施:完成程序研发,ci,运行、整改,提高工程效率、质量、稳定性;

工程监督促进了工程开发的质量,这是当今行业所缺乏的。

服务治理

除了提供高性能外,还要考虑一个框架的优缺点 RPC 除通信外,还包括提供全方位服务治理水平。

Jupiter 经过多个版本的迭代,目前的服务治理水平在行业内非常出色。

更完善的服务监控,从服务指标上看,根据服务指标,根据服务指标, Google SRE 文档制定了监控指标(延迟、流量、错误和对比),并对每个指标进行了服务监控;从应用维度上,我们可以看到应用实例监督、应用市场监督、所有应用市场监督、各种不同指标 top 列表,实时检测服务水平。更有价值的错误报告。错误收敛服务,规范系统错误代码和业务错误代码,一键生成相应的错误代码文档。当错误发生时,可以根据文档准确找到错误的位置,提高错误检查的速度。更全面的服务操纵。使用配置中心和 etcd,保证服务的可控性。更全面的 SOP。根据全环节压力测试、混乱工程等形式,提前解决系统中可能出现的严重问题,做好工作 SOP 指南,这样当问题真正来临时,才能平静地解决。

拥抱变化

Web 随着运维技术的不断发展,短短几年就出现了相当多的计算形状,包括许多计算、边缘计算、容器化、网格化、Serverless 等等。在服务保障技术方面,异地多活,混沌工程也在不断发展。

在语言栈层面,很多企业还处于单一的初期阶段。 PHP、Java 栈扩展到多语言栈并存的局面,尤其是近年来, Golang 由于其在容器化和运维效率方面的优势,越来越多地应用于其中 Web 服务开发。但每一次技术迭代,在享受效率提高的同时,也在不断经历应用转型和转移的痛苦。

以斗鱼为例,从 2022 年底,基础设施逐步改造,运营业务系统化建设。短短三年,我就经历了公共云、异地多活、容器化布局等环节。目前,我还在一些业务中探索边缘计算和 Serverless 等待新的计算形状。2022 从年初开始,语言栈将从单一的语言栈开始 PHP 拓展为以 Golang、Java、PHP 以多语言栈为主,随之而来的是多语言栈 RPC 协议大战,http1.1、dubbo、gRPC、私 RPC 协议复杂繁杂,联调效率极低。经过一段时间的迭代,已经基本统一为外界启用。 http1.1 主要是内部调用 gRPC 优先考虑,减少自定 RPC 协议的应用。

从 Golang 从应用的角度来看,它面临着不断变化的软件环境和不断丰富的外部环境,这将不断形成新的问题,如:

容器化有 IP 飘移问题是传统的基础 IP 必须改变服务注册和运维方式。Serverless 如何兼容服务监控问题、指标收集及其链路跟踪?Service Mesh 与传统的部署方式相比,服务注册和发现的方式发生了很大的变化。在多机房布局中,跨机房使用了这种“弱网环境” 对服务加班、再试、融断、负载均衡等易用性对策要求较高。

不同于传统 RPC 框架和微服务治理架构,Jupiter 从一开始就以应用为核心,定位为微服务应用的运行。以往的技术架构,如:

多机房建设公有化容器化

中,Jupiter 它有效地降低了应用程序迁移和优化的成本,并在此期间积累了大量的架构经验。未来也将在未来。

Service MeshServerless

等待形状的计算,起着重要的作用。

提高开发效率

开发效率是基础框架和类库的关键重点之一,Jupiter 从一开始就选择和使用了很多开源类库,但也因此增加了很多问题:

开源库质量参差不齐。如果不加管束地引入开源类库,类库的不足将不受组织内传输的限制,修复成本非常高。许多类库不遵循版本标准,会产生兼容性问题,危害开发效率。许多功能都有多种类型的库供选择,无管束会增加维护和沟通的成本,也会带来一定的风险。不同类库的代码风格差异很大,有一定的沟通成本。不同类库使用的错误处理和错误代码、日志、指标收集、 Debug 不同方法的应用不同,不仅危害开发效率,而且影响服务治理。

根据上述原因,在基本框架和类库中,对关键应用领域的常见类库进行了一层包装,尽量避免直接使用第三方类库。包装方法如下:

运用 Golang 一些语言层面的系统进行简单的包装:type alias: type T = package2.Tvariable binding: var Func = package2.Func统一 New 简化建立过程,根据配备驱动的效果,达到配备驱动的效果 type embedding 扩展类库的作用是动态设备、指标收集、链路跟踪、统一日志、统一错误码等第三方库扩展的治理能力。根据 interface 抽象限制启用行为。根据 interface 抽象限制使用行为。对于不稳定的类库,可以采用这种方法限制用户的使用行为,方便未来的改进和更换。

基于上述方法,Jupiter 它不仅提高了开发效率,而且有效地降低了开发风险。

同时,Jupiter 为第三方类库和自主开发类库带来统一的治理能力,包括:

统一指标收集链路跟踪日志埋点统一错误处理动态设置安全设置Debug设置 方式 等等,可以大大提高应用开发效率。

汇总

Web 后台技术在规划、开发、部署、运维等不同阶段发展迅速,微服务应用架构、软件环境和治理环境也随时发生变化。 作为沟通领域的模型、软件环境和治理环境的媒体,基本框架是稳定业务的重要途径。

- END -

arcsinx等于什么?(01arcsinx)

arcsinx等于什么?(01arcsinx)

01arcsinx=π/2-arccosx(-1≦x≦1)。arcsin0=0,arcsin1=90°。sinx表明一个数据,在其中的x是一个视角。arcsinx表...

辩论赛噎住对方的语句有哪些?(另一方辩友请不要将概念混淆)

辩论赛噎住对方的语句有哪些?(另一方辩友请不要将概念混淆)

011、另一方辩友请不要将概念混淆。2、依照另一方辩友的逻辑……3、即然另一方辩友不太喜欢谈&hellip...

党旗和党徽的含义分别是什么?(党旗是一个党的象征和标示)

党旗和党徽的含义分别是什么?(党旗是一个党的象征和标示)

党旗是一个党的象征和标志,旗面为红色,红色象征革命,黄色的锤子(榔头)、镰刀代表工人和农民的劳动工具,象征着中国共产党...

蓝色代表什么心情(蓝色代表什么意思情绪_孕育常识_亲子宝典库)

蓝色代表什么心情(蓝色代表什么意思情绪_孕育常识_亲子宝典库)

蓝色(Blue),是一种冷色调颜色,在电磁波的可见光中它的频率较高(仅次于紫光),频率600~700THz(对应空气中波长500~430nm),...

木秀于林 风必摧之 是什么意思

木秀于林 风必摧之 是什么意思

木秀于林 风必摧之 是什么意思,“木秀于林,风必摧之。”意思是:高出森林的大树总是要被大风先吹倒。比喻才能或品行出...

什么是安吉游戏(简单的幼儿园游戏有哪些)

什么是安吉游戏(简单的幼儿园游戏有哪些)

什么是安吉游戏,安吉游戏是安吉幼儿园游戏教育的简称,安吉游戏是由安吉县的教育生态,改革探索出的一种一游戏教育为主...

江南造船厂是国企还是央企

江南造船厂是国企还是央企

在老上海人中,提起江南造船厂,恐怕没有一个人会不知道。在中国近代工业史上,甚至在中国近代发展史上,江南造船厂始...

1l等于多少立方dm(小升(斗)进的手段欺诈农民)

1l等于多少立方dm(小升(斗)进的手段欺诈农民)

1L(升)=1dm3(立方分米)。升,容积单位。升在国际单位制中表示L,其次级单位为毫升(mL)。1dm3的容量相当于一个长、宽、高都等...

扬州是几线城市(2022中国城市等级划分)

扬州是几线城市(2022中国城市等级划分)

根据最新的2017中国城市等级划分,扬州市是三线城市。所以说扬州是二线城市或者三线城市都可以。但2017中国城市等级...

为什么新疆人长得像外国人(新疆人里长得像混血的只是维吾尔族、哈萨克族、俄罗斯族等民族)

为什么新疆人长得像外国人(新疆人里长得像混血的只是维吾尔族、哈萨克族、俄罗斯族等民族)

新疆人里长得像混血的只是维吾尔族、哈萨克族、俄罗斯族等民族,这些民族很多都是欧洲、中东和印度半岛迁徙过来互相...

查看更多知识百科