FocusAny專注高效的AI工具條 v0.8.0
2.4MB / 04-13
LinkAndroid 全能手機連接助手 v0.6.0
24.6MB / 03-15
PESCMS RENT房租管理系統(tǒng) v1.0.0
104KB / 11-16
ECHO個人博客主題網(wǎng)頁模板 v1.0
15.1MB / 08-25
優(yōu)雅草便民tools工具 v1.0.6
1.25MB / 05-01
抖音熱門短劇在線搜索引擎 v1.0
911KB / 03-20
名揚銀河企業(yè)建站源碼 v2.0.2
6.7MB / 03-19
AGECMS商業(yè)會云管理_電子名片 v1.0.1
94KB / 03-13
帝國cms看雪時間軸博客趣靜態(tài)模板 v1.0
4.23MB / 02-02
Apache Superset數(shù)據(jù)探查與可視化平臺 v3.1.2
144.6MB / 04-21
-
Spyder 集成開發(fā)環(huán)境 v6.0.5 其它源碼 / 11.48MB
-
-
Netdata性能實時監(jiān)測工具 v2.3.2 其它源碼 / 10.3MB
-
-
-
-
-
Godot游戲引擎 v4.4.1 其它源碼 / 15.1MB
-
Vuls漏洞掃描器 v0.30.0 源碼包 其它源碼 / 1.2MB
-
Bootstrap框架 v5.3.5 其它源碼 / 6.24MB
詳情介紹
Jupiter微服務框架是一個面向服務治理的Golang微服務框架,以開發(fā)效率和治理效率為核心目標,從統(tǒng)一開發(fā)規(guī)范、完善監(jiān)控埋點、降低開發(fā)難度等多個維度幫助Gopher開發(fā)高性能、高可靠性的微服務框架。
Jupiter致力于將Go微服務框架標準化,統(tǒng)一錯誤碼、日志、監(jiān)控、注冊、流控的Schema。做到微服務的各個模塊可觀測、可治理,管理微服務研發(fā)側的全套生命周期。
Jupiter作為面向服務治理的微服務基礎框架,有四個核心關注點:
1、開發(fā)效率:提升開發(fā)效率、加速軟件生命周期的迭代。
2、治理效率:提升治理效率,實現(xiàn)規(guī)?;卫?。
3、多場景應用:識別通用場景,形成公共知識,持續(xù)提升團隊開發(fā)效率。
4、演進式架構:保證服務在自建機房、容器云、網(wǎng)格化等基礎架構變更和基礎設施變更過程中的平滑遷移。
功能特點:
gRPC:基于官方 gRPC 開發(fā),集成流控和多數(shù)據(jù)中心方式的服務注冊,支持多種 roundrobin,p2c 等負載均衡策略;
配置:使用 toml、yaml 方式管理配置,規(guī)范化核心配置,結合遠程配置中心,實現(xiàn)配置版本管理和更新,查看配置依賴關系;
日志:基于 zap 日志類庫,實現(xiàn)高性能日志庫,并對不同環(huán)境和條件,實現(xiàn)日志庫的自動降級,并對服務端,客戶端的慢日志通過配置條件,實現(xiàn)全部慢日志接入;
監(jiān)控:基于 prometheus go sdk 類庫,實現(xiàn)對服務端,客戶端的數(shù)據(jù)監(jiān)控,并與 prometheus、cond、etcd 數(shù)據(jù)打通,實現(xiàn)應用自動化數(shù)據(jù)采集;
數(shù)據(jù)庫:基于 gorm 的封裝,將數(shù)據(jù)庫的 trace,慢日志,監(jiān)控進行了采集;
緩存:基于 go-redis 的封裝,將數(shù)據(jù)庫的 trace,慢日志,監(jiān)控進行了采集,并實現(xiàn)了單個 redis、多從庫 redis,客戶端 redis 分片,服務端 redis 分片的 api;
系統(tǒng)錯誤碼:區(qū)分框架和業(yè)務的錯誤碼,將框架錯誤碼文檔自動生成,自動化的錯誤碼 SRE 分析工具;
工程化:基于服務標準、創(chuàng)建、開發(fā)、運行、治理等生命周期,完成了Jupiter對項目的工程化;
服務治理:基于監(jiān)控,etcd,配置中心,對服務實現(xiàn)了良好的可觀測性,可控制性;
理念
#工程化
目前大部分框架側重點大部分在協(xié)議和編解碼,過度的關注于技術細節(jié),框架在投入生產(chǎn)環(huán)節(jié)會帶來一堆工程問題。
因此我們Jupiter瞄準于企業(yè)級的工程化方案,將服務的標準、創(chuàng)建、開發(fā)、運行、治理整個生命周期作為Jupiter的一部分,以工程效率、工程質(zhì)量、工程可靠性等為指標,解決了公司大量的工程化問題,降低了研發(fā)人員的開發(fā)成本。
制定標準:制定了服務的配置、鏈路、監(jiān)控、header 頭等標準;
腳手架:能夠通過命令行,實現(xiàn)服務的創(chuàng)建,升級等功能;
配套設施:實現(xiàn)程序的開發(fā),ci,運行,治理,提升工程效率,質(zhì)量,可靠性;
工程化的管理使得我們可以保質(zhì)保量的對項目進行開發(fā),這種理念正是現(xiàn)在業(yè)界所缺少的。
#服務治理
衡量一個框架的好壞,除了提供高性能 RPC 通信以外,還要包括提供優(yōu)質(zhì)的服務治理能力。
我們Jupiter經(jīng)歷了多個版本的迭代以后,目前的服務治理能力在業(yè)界內(nèi)是非常出色的。
更完善的服務監(jiān)控,從服務指標上,我們依據(jù) Google SRE 文檔制定監(jiān)控指標(延遲、流量、錯誤和飽和度),并對各個指標進行了服務監(jiān)控;從應用維度上,我們能夠看到應用實例監(jiān)控、應用大盤監(jiān)控、全部應用大盤監(jiān)控、各種不同指標的 top 榜,實時監(jiān)測服務質(zhì)量。
更有價值的錯誤報警。我們對服務進行了錯誤收斂,規(guī)范系統(tǒng)錯誤碼和業(yè)務錯誤碼,并且能夠自動生成對應的錯誤碼文檔,當錯誤發(fā)生時,我們通過文檔就能準確找到錯誤的位置,提升錯誤排查速度。
更全面的服務控制。我們利用配置中心和 etcd,將服務做到可控制性。
更全面的 SOP。我們通過全鏈路壓測、混沌工程等方式,提前解決掉系統(tǒng)中可能存在的嚴重問題,做好 SOP 手冊,這樣當問題真正來臨的時候,我們才會從容處理。
#擁抱變化
Web 開發(fā)和運維技術在不斷的發(fā)展,短短幾年已涌現(xiàn)出了非常多的計算形態(tài),如云計算、邊緣計算、容器化、網(wǎng)格化、Serverless 等。服務保障技術方面,異地多活、混沌工程也在不斷發(fā)展。
語言棧方面,很多公司也在從早期單一的 PHP、Java 棧擴大到多語言棧并存的局面,特別是近年來 Golang 因在容器化和運維效率上的優(yōu)勢,越來越多的被應用到 Web 服務開發(fā)。但每次技術迭代,享受效率提升的同時,也在不斷經(jīng)歷應用改造和遷移的痛苦。
以斗魚為例,從 2016 年底我們開始改造基礎設施,啟動應用服務化建設。短短三年就經(jīng)歷了公有云、異地多活、容器化部署等階段,目前也在部分業(yè)務中探索邊緣計算和 Serverless 等新的計算形態(tài)。2017 年開始,我們將語言棧從單一的 PHP 擴展為以 Golang、Java、PHP 為主的多語言棧,隨之而來的是多 RPC 協(xié)議的混戰(zhàn),http1.1、dubbo、gRPC、私有 RPC 協(xié)議紛繁冗雜,聯(lián)調(diào)效率極低。經(jīng)過一段時間的迭代,目前已基本統(tǒng)一為外部調(diào)用以 http1.1 為主、內(nèi)部調(diào)用以 gRPC 為主,減少自定義 RPC 協(xié)議的使用。
從 Golang 應用的角度來看,面臨的是一個在不斷變化的運行環(huán)境和持續(xù)豐富的外部環(huán)境,這將不斷的產(chǎn)生新的問題,比如:
容器化有 IP 漂移的問題,傳統(tǒng)基于 IP 的服務注冊和運維方式需要作出改變。
Serverless 的服務監(jiān)控問題,指標采集以及鏈路追蹤等如何適配?
Service Mesh 相對于傳統(tǒng)部署方式,服務注冊和發(fā)現(xiàn)的方式有很大變化。
多機房部署中,跨機房調(diào)用這種’弱網(wǎng)環(huán)境‘ 對服務超時、重試、熔斷、負載均衡等可用性策略有更高要求。
不同于傳統(tǒng) RPC 框架和微服務治理框架,Jupiter從一開始就以應用為中心,定位為一個微服務應用的運行時。在歷次技術架構,如:
多機房建設
公有化
容器化
中,Jupiter有效的降低了應用遷移和升級的成本,期間也積累了許多架構經(jīng)驗。未來也必將在
Service Mesh
Serverless
等計算形態(tài)中,發(fā)揮重要的作用。
#提升開發(fā)效率
開發(fā)效率是基礎框架和類庫的核心關注點之一,Jupiter從一開始就挑選和使用了大量開源類庫,但也因此帶來了若干問題:
開源類庫質(zhì)量參差不齊。如果不加約束的引用開源類庫,類庫的缺陷就會不受限的在組織內(nèi)傳導,修復的成本非常高。
許多類庫并未遵守版本規(guī)范,這將會產(chǎn)生兼容性問題,影響開發(fā)效率。
許多功能都有多個類庫可供選擇,不加約束將增加維護和溝通成本,也帶來了一定地風險。
不同類庫代碼風格差異大,有一定溝通成本
不同類庫使用的錯誤處理和錯誤碼、日志、指標采集、對 Debug 模式的支持不盡相同,這既影響開發(fā)效率,也影響服務治理。
基于上述原因,我們在基礎框架和類庫中,對主要應用場景常用的類庫都增加了一層封裝,盡量減少對第三方類庫的直接使用。封裝的方法有:
利用 Golang 在語言層面上的一些機制進行簡易封裝:
type alias: type T = package2.T
variable binding: var Func = package2.Func
統(tǒng)一 New 方法,以簡化創(chuàng)建過程,并達到配置驅(qū)動的效果
通過 type embedding 擴展類庫功能,為第三方庫擴展如動態(tài)配置、指標收集、鏈路追蹤、統(tǒng)一日志、統(tǒng)一錯誤碼等治理能力。
通過 interface 抽象限制調(diào)用行為。對于未穩(wěn)定的類庫,可以采用這種方式限制用戶的調(diào)用行為,以便將來進行完善和替換。
基于以上方法,Jupiter既提高了開發(fā)效率,也有效的降低了開發(fā)風險。
同時,Jupiter為封裝的第三方類庫和自研類庫提供了統(tǒng)一的治理能力,包括:
統(tǒng)一的指標采集
鏈路追蹤
日志埋點
統(tǒng)一錯誤處理
動態(tài)配置
安全策略
Debug 模式 等,可以極大的提高應用開發(fā)效率。
#總結
Web 后臺技術在設計、開發(fā)、部署、運維各個階段都在快速發(fā)展,微服務應用架構方法、運行環(huán)境和治理環(huán)境也都在不斷變化。 基礎框架作為溝通業(yè)務邏輯和運行環(huán)境、治理環(huán)境的媒介,是穩(wěn)定業(yè)務的重要手段。
Jupiter服務于整體技術架構,并緊隨業(yè)界技術趨勢,三年我們對Jupiter的研發(fā),其具有超出同行很多優(yōu)秀的特性,詳情請見后文。
什么改變了
從屬關系
構建(DEPS):將操作系統(tǒng)-DEPS組移動到一個目錄中,通過@dependabot 在…中
建立(DPS):由6.1.1至6.2.0在動作組中的撞擊動作@dependabot 在…中
下載地址
人氣源碼
相關文章
-
FocusAny專注高效的AI工具條 v0.8.0
FocusAny 是一個專注高效的AI工具條,可以使用 Alt / Option+空格 一鍵喚起,通過插件快速安裝,可以擴展出非常多的功能...
-
LinkAndroid 全能手機連接助手 v0.6.0
LinkAndroid是一個輕松連接安卓與電腦,暢享投屏、文件管理、應用管理、截屏、錄屏、安裝應用等一站式便捷體驗,讓工作更高效!歡迎需要的朋友下載使用...
-
PESCMS RENT房租管理系統(tǒng) v1.0.0
PESCMS RENT(下稱PR)是一款基于GPLv2協(xié)議發(fā)布的開源房租管理系統(tǒng),程序基于Golang + VUE3編寫,歡迎需要的朋友下載使用...
-
ECHO個人博客主題網(wǎng)頁模板 v1.0
ECHO個人主題網(wǎng)頁模板是一款適合個人圖文寫作與博客的主題。主題極簡優(yōu)雅,采用經(jīng)典獨特的三欄設計,保留線條和足夠的留白,展現(xiàn)您文字、圖片間的美...
-
優(yōu)雅草便民tools工具 v1.0.6
優(yōu)雅草便民工具--便民tools工具tools-前端已接數(shù)據(jù),優(yōu)雅草小工具-數(shù)據(jù)來自優(yōu)雅草api賦能-優(yōu)雅草便民工具是一款由成都市一顆優(yōu)雅草科技有限公司打造的便民查詢公益工具,歡...
-
抖音熱門短劇在線搜索引擎 v1.0
一個非常哇塞的在線短劇搜索頁面,接口已經(jīng)對接好了,上傳源碼到服務器解壓就能直接用,有能力的可以自己改接口自己寫自己的接口...
-
名揚銀河企業(yè)建站源碼 v2.0.2
名揚銀河企業(yè)建站系統(tǒng),適用于無代碼基礎的新手,快速搭建企業(yè)網(wǎng)站,程序內(nèi)置了多項實用功能及插件,能夠便捷的對網(wǎng)站進行修改、調(diào)整、優(yōu)化等方面進行操作...
-
AGECMS商業(yè)會云管理_電子名片 v1.0.1
AGECMS商業(yè)會云管理電子名片是一款專為商務人士設計的全方位互動電子名片軟件。它結合了現(xiàn)代商務交流的便捷性與高效性,通過數(shù)字化的方式,歡迎需要的朋友下載使用...
-
帝國cms看雪時間軸博客趣靜態(tài)模板 v1.0
帝國cms看雪時間軸博客趣靜態(tài)模板是一款女生唯美簡潔個人博客靜態(tài)頁面模板,藍色時間軸個人網(wǎng)頁模板,下雪空間個人模板,喜歡的網(wǎng)友可以用開源程序帝國cms標簽仿站建設...
-
Apache Superset數(shù)據(jù)探查與可視化平臺 v3.1.2
Superset可視化平臺是Airbnb(知名在線房屋短租公司)開源的數(shù)據(jù)探查與可視化平臺(曾用名 Panoramix、Caravel ),該工具在可視化、易用性和交互性上非常有特色...
下載聲明
☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的Jupiter微服務框架 v0.11.19資源來源互聯(lián)網(wǎng),版權歸該下載資源的合法擁有者所有。