欢迎来到游戏爱好者,这里是最新最全的游戏下载基地!

您的位置:首页 > 编程软件 > 软件编程 > Jupiter(微服务治理框架)
Jupiter(微服务治理框架)

Jupiter(微服务治理框架)

Jupiter是一款采用当代最为先进的管理系统化的服务应用,最主要的作用极速为企业的各项业务提供效率更高的沟通联系方案,可以把Go微服务框架标准化,对各种工作涉及到的部门都有着明确的划分,合理调整本公司的人力和物力资源,达到统筹兼顾的效果,对服务行业来说是很好的应用管理工具,让开发者们可以对市场快速反应更新自己公司的服务结构。

软件特色

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(微服务治理框架)

软件特性

微服务基础框架

现代微服务架构是分布式的,业务逻辑被拆分到不同的服务中,服务之间通过RPC相互调用。随着业务规模的增大,服务的数量也随之增加,当增加到一定程度的时候,开发和运维效率将面临严重挑战。

斗鱼Web服务在服务化过程中为应对这种挑战,逐步形成了以Jupiter为核心的基础框架和以Juno为核心的治理平台。

Jupiter是作为面向服务治理的微服务基础框架,有四个核心关注点:

开发效率:提升开发效率、加速软件生命周期的迭代。

治理效率:提升治理效率,实现规模化治理。

多场景应用:识别通用场景,形成公共知识,持续提升团队开发效率。

演进式架构:保证服务在自建机房、容器云、网格化等基础架构变更和基础设施变更过程中的平滑迁移。

开发效率

开发效率是Web框架的核心关注点,好的Web框架融合了代码规范、最佳实践和安全编码,并能显著提高编码效率。如果是自研的框架,还承担着把组织内部的知识,进行抽象和提取,形成公共知识的责任。

同时,Golang作为一门“新语言,生态相对也较新,实际使用还将面临一些额外风险:

开源类库的质量和维护力度参差不齐,如果有bug或者不兼容问题,其修复难度较大。

Golang去中心化的依赖管理会导致类库管理困难,开发人员可以随意引入或升降级依赖库。

不同类库的代码风格差异大,有一定使用成本。

Golang历经了多种包管理方式,对国内的开发者而言,俨然一部血泪史。目前gomod大有改善,但仍有个别老旧类库存在问题。

Jupiter是伴随斗鱼服务化一步步实践而来,经历了go1.7到go1.14既平滑(完美向前兼容)又剧烈(生态、依赖管理)的成长。针对业务的开发效率以及“额外“风险,Jupiter有一些基本的认识:

以monorepo的方式整合核心框架、自研类库并包装第三方类库。长期看,这将极大减少维护成本。

利用语言机制如type alias/type embedding等,封装常用的第三方类库,尽量减少直接引用第三方类库。这提供了一种缓冲机制,避免依赖被随意“升降级,第三方bug也可以被方便管控。

通过包装,一些关键类库万不得已的时候可以切到自研,也可以由自研切换到开源,降低维护成本。统一所有包的使用方式,包括配置驱动、统一错误码、统一日志埋点、指标埋点等,减少开发人员心智负担。

当然,上述很多问题不能仅仅依赖于基础框架来解决,并且随着Golang语言和生态的发展,一些问题也在不断缓解。但核心的需求还在,即通过整合基础框架,降低风险,提高效率。

除了针对主要开发环境的效率提升外,Jupiter针对调试、测试、Cl流程等方面也做了一些工作,以提高整个软件周期的效率。

治理效率

治理效率是微服务架构的关键需求。微服务架构中,应用数总是不断上升,人均应用维护数增加到一定数目以后,维护效率将大幅度下降。如果碰到突发事件,将产生严重后果。因此,微服务架构非常强调服务治理能力和应用管理能力。一般来说,微服务治理包括:

服务注册与发现:服务注册、负载均衡等

可观测性:拓扑关系、指标、日志、链路等

流量管理:流量特征识别、流量导向等,以及基于此的灰度、蓝绿发布、A/B Test等细分应用

安全策略:访问控制、限流熔断等

生命周期:发布、下线管理,版本控制等

微服务治理是一项基础能力,需要代码规范、治理平台、基础框架甚至组织架构等多个方面协作,才能达到比较好的效果。

我们近期还会将治理平台juno开源部分微服务治理能力,未来还将整理和开源更多的治理能力,并与社区共建,进一步完善微服务治理。这部分,我们将在单独的文档中进行更详细说明。

在基础框架的部分,我们认为基础框架是沟通业务与治理平台的关键,一定程度上也定义了服务治理流程。在Jupiter中,针对服务治理,有几个关键点:

增强核心模块可观测性:完善的日志、指标、链路埋点,并形成规范,从而实现报表、报警直出。

统一错误码:规范的错误码和错误收敛机制,能够极大的提升错误定位和排查速度。

拦截器支持:针对http/grpc的server/client以及redis/mysql/mongo/rocketmq等IO,全部支持拦截器机制,以进一步支持更丰富的治理策略。

安全策略内置:主要模块内置限流熔断、访问控制、慢查询监测等安全策略。

流量路由和管理:提供多种负载均衡和流量路由策略,以及针对A/B Test、影子流量等细分场景的流量策略。

多应用场景

支持多应用场景前,需要准确的识别应用场景,而识别的过程就是一个规范代码、探索实践的过程。应用场景的定义可以很宽泛,这里举几个例子简单说明:

缓存策略。缓存的策略有很多种,在Web开发领域也经常使用。我们注意到业务实现中,经常会有数据过期时,一个请求穿透、多个请求原地block的场景。通过引入滑动窗口和半衰期,让一个请求穿透、多个请求正常返回,从而实现更高效的缓存策略。

与ava Dubbo流量互通。dubbo支持qRPC协议,因此在协议层,dubbo与grpc-go是可以流量互通的。Jupiter通过增加一个基于接口(dubbo的默认注册方式)的服务注册键,从而实现服务注册与发现层面上的流量互通。

类似的例子在Jupiter中还有很多,如任务编排、流程编排、redis的并发pipeline、在线压测的mysq喝影子流量等。

应用场景的识别是形成公共知识、加速团队开发效率的重要手段

演进式架构

Web开发和运维技术在不断的发展,短短几年已涌现出了非常多的计算形态,如云计算、边缘计算、容器化、网格化、Serverless等。服务保障技术方面,异地多活、混沌工程也在不断发展。语言栈方面,很多公司也在从早期单一的PHP、Java栈扩大到多语言栈并存的局面,特别是近年来Golang因在容器化和运维效率上的优势,越来越多的被应用到Web服务开发。但每次技术迭代,享受效率提升的同时,也在不断经历应用改造和迁移的痛苦。

从应用的角度来看,面对的是一个不断变化的外部环境,新的问题不断产生。以斗鱼Web服务部为例,可以通过一个时间线管中窥豹:

应用开始服务化:这个阶段开始构建大量的基础治理平台,包括发布中心、监控中心、注册中心及各个管理细分平台。同时,一些新的基础设施开始引入,如etcd,prometheus、jaeger等。

语言栈从单一的PHP扩展为Golang、Java、PHP的多语言栈。APl规范、服务互通在这个阶段凸显。

多机房建设:流量管控、服务质量、安全策略的要求凸显。

容器化:传统基于IP/Port的治理方式、流量管理和分发、服务监控需要做出相应改变。

Service Mesh:基于SDK的服务注册、发现,监控需要适配。

软件优势

1、开发效率:提升开发效率、加速软件生命周期的迭代。

2、治理效率:提升治理效率,实现规模化治理。

3、多场景应用:识别通用场景,形成公共知识,持续提升团队开发效率。

4、演进式架构:保证服务在自建机房、容器云、网格化等基础架构变更和基础设施变更过程中的平滑迁移。

看了这么多,你下载了Jupiter(微服务治理框架)吗?想要下载最新软件就来软件爱好者好玩的游戏、简单易懂的软件教程、令人耳目一新的游戏玩法这里统统都有,更多精彩不容错过!

查看全部
  • 软件大小:5.53MB
  • 软件版本:0.2.9
  • 支持语言:简体中文
  • 软件分类:编程软件/软件编程
  • 上架时间:2024-04-09
  • 运行环境:WinXp,Win2003,WinVista,Win 7,Win 8,Win 10,x64,Linux,Mac
  • 授权方式:免费版
  • 关键字:
无插件 360通过 腾讯通过 金山通过 瑞星通过
本地下载

文件大小:5.53MB

7.0

综合评分:7.0

  • Jupiter(微服务治理框架)0
  • Jupiter(微服务治理框架)1

相关软件

下载地址

!下载安装、资源包有误、报错等问题向我们反馈

注意事项

本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。

如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除。若有关在线投稿、无法下载等问题,请与本站客服人员联系QQ: 481103985

用户可自行按线路选择相应的下载点,可以直接点击下载/另存为,若直接点击下载速度太慢,请尝试使用高速下载器。为确保下载的文件能正常使用,请使用WinRAR最新版本解压本站软件。

建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于360安全卫士或QQ电脑管家的有关提示,请自行注意选择操作。

编程软件

最新软件

更多>

软件编程排行榜