主頁 >  其他 > 阿里集團業務驅動的升級——Dubbo 3.0 的演進思路

阿里集團業務驅動的升級——Dubbo 3.0 的演進思路

2021-07-31 07:47:57 其他

簡介:阿里云在 2020年底提出了“三位一體”理念,目標是希望將“自研技術”、“開源專案”、“商業產品”形成統一的技術體系,令技術的價值可以達到最大化,Dubbo 3.0 作為三位一體架構的首推方案,在集團內被寄予了厚望,它完美融合了內部 HSF 的特性,天然擁有高性能、高可用的核心能力,我們期望用它來解決內部落地問題,做到技術堆疊統一,本文將分享Dubbo 3.0的演進思路以及如何幫助用戶享受云原生帶來的技術紅利,

作者 | 遠云


三位一體


2020年底,阿里云提出了“三位一體”的理念,目標是希望將“自研技術”、“開源專案”、“商業產品”形成統一的技術體系,令技術的價值可以達到最大化,


1626079956599-66991174-5b04-4fa1-a246-7dc875e90b47.png


阿里集團內部的 HSF 框架在經歷了多年雙十一流量洪峰的考驗后,鍛煉出了高性能和高可用的核心競爭力,而對于 Dubbo,作為國內外最受歡迎的服務治理框架之一,它的開源親和性就不用再多說了,


Dubbo 3.0 作為三位一體架構的首推方案,在集團內被寄予厚望,它完美融合了內部 HSF 的特性,天然擁有高性能、高可用的核心能力,我們期望用它來解決內部落地問題,做到技術堆疊統一,目前在考拉已經大規模落地,未來也會在眾多核心場景進行落地,并承載 618、雙十一等復雜的業務場景,


Dubbo 3.0 帶來的好處


1626054949412-85d82e29-5b0c-4779-91d8-6f2a66a41b5c.png


在具體說明 Dubbo 3.0 的變化細節之前,先從兩個方面說一說升級到了 Dubbo 3.0 能帶來什么好處,


首先是,Dubbo 3.0 會著力提升大規模集群實踐中的性能與穩定性,通過優化資料存盤方式來降低單機資源損耗,并基于此保證超大規模集群的水平擴容的情況下集群的穩定性,同時,Dubbo 3.0 提出了柔性集群的概念,能夠在異構體系下有效保證和提高全鏈路總體的可靠性和資源的利用率,


第二點是 Dubbo 3.0 代表著 Dubbo 全面擁抱云原生的里程碑,當前 Dubbo 在國內外有著基數巨大的用戶群體,而隨著云原生時代的到來,這些用戶上云的需求越來越強烈,Dubbo 3.0 將提供一整套的解決方案、遷移路徑與最佳實踐,來幫助企業實作云原生轉型,從而享受云原生帶來的紅利,


1、業務收益


1625927285744-7e7de6b1-70cd-425d-a678-ed1698750b47.png


那么站在業務應?的視角來看,如果升級到 Dubbo 3.0,能獲得哪些具體的收益呢?


首先,在性能與資源利用率?面,Dubbo 3.0 能有效降低框架帶來的額外資源消耗,從而?幅提升資源利用率,


從單機視?,Dubbo 3.0 能節省約 50% 的記憶體占?;從集群視角,Dubbo 3.0 能?持的集群實體規模以百萬計,為未來更大規模的業務擴容打下基礎;而 Dubbo 3.0 對 Reactive Stream 通信模型的支持,在?些業務場景下能帶來整體吞吐量的?幅提升,


其次,Dubbo 3.0 給業務架構升級帶來了更多的可能性,最直觀的就是通信協議的升級,給業務架構帶來了更多選擇,


Dubbo 原來的協議其實在?定程度上束縛了微服務接??式,舉個例子,移動端、前端業務要接入 Dubbo 的后端服務,需要經過網關層的協議轉換;再比如,Dubbo 只?持 request-response 模式的通信,這使得?些需要流式傳輸或反向通信的場景?法得到很好的支持,


最后,Dubbo 3.0 給業務側的云原生升級帶來了整體的解決方案,不論是底層基礎設施升級帶來的被動變化,還是業務為解決痛點問題進行的主動升級,當業務升級到云原生,Dubbo 3.0 通過給出云原生解決方案,可以幫助業務產品快速接入云原生,


Dubbo 3.0 概覽


1625927293341-c52a1407-34fc-4bba-a5a8-d19bf5c21471.png


在明確了升級到 Dubbo 3.0 能夠帶來的收益之后,來看看 Dubbo 3.0 有哪些具體的改動,


1、支持全新的服務發現模型,Dubbo 3.0 嘗試從應用模型入手,對其云原生主流設計模型優化其存盤結構,避免在模型上帶來互通問題,新模型在資料組織上高度壓縮,能有效提高性能和集群的可伸縮性,


2、提出了下一代 RPC 協議 —— Triple,這是一個基于 HTTP/2 設計的完全兼容 gRPC 協議的開放性新協議,由于是基于 HTTP/2 設計的,具有極高的網關友好型和穿透性,完全兼容 gRPC 協議使得其在多語言互通方面上天然具有優勢,


3、提出了統一治理規則,這套規則面向云原生流量治理,能夠覆寫傳統 SDK 部署、Service Mesh 化部署、VM 虛擬機部署、Container 容器部署等一系列場景,一份規則治理全部場景可以大大降低流量治理成本,使得異構體系下的全域流量治理得到統一,


4、提供接入 Service Mesh 的解決方案,面向 Mesh 場景,Dubbo 3.0 提出了兩種接入方式:一種是 Thin SDK 模式,部署模型和當前 Service Mesh 主流部署場景完全一樣,而 Dubbo 將進行瘦身,屏蔽掉與 Mesh 相同的治理功能,僅保留核心的 RPC 能力;第二種是 Proxyless 模式,Dubbo 將接替 Sidecar 的作業職責,主動與控制面進行通信,基于 Dubbo 3.0 的統一治理規則,應用云原生流量治理功能,


應用級服務注冊發現


1625927300811-e534dbd4-674b-4b68-9ac7-79b13640bcde.png

應用級服務發現模型


應用級服務發現模型的原型其實最早在 Dubbo 2.7.6 版本中已經提出來了,經過一段時間的迭代,最終形成了 Dubbo 3.0 中一個較為穩定的模型,


在 Dubbo 2.7 及以前版本中,應用進行服務注冊和發現時,都是以介面為粒度,每個介面都會對應在注冊中心上的一條資料,不同的機器會注冊上屬于當前機器的元資料資訊或者介面級別的配置資訊,如序列化、機房、單元、超時配置等,


所有提供此服務的服務端在進行重啟或者發布時,都會在介面粒度獨立地變更,舉個例子,一個網關類應用依賴了上游應用的 30 個介面,當上游應用在發布時,就有 30 個對應的地址串列在進行機器的上線和下線,


以介面作為注冊發現的第一公民的方式是最早的 SOA 或微服務的拆分方式,提供了單一服務、單一節點的獨立和動態變更能力,隨著業務的發展,單一應用依賴的服務數在不斷增多,每個服務提供方的機器數量也由于業務或容量原因不斷增長,從客戶端整體上看,依賴的總服務地址數迅速上漲,根據這種情況,可以考慮從注冊發現的流程設計上優化,


這里注意有兩個特征:

  • 隨著單體應用拆分為多微服務應用的基本完成,大規模的服務拆分和重組已經不再是痛點,大部分介面都只被一個應用提供或者固定幾個應用提供,


  • 大量用于標志地址資訊的 URL 都是存在極大冗余的,如超時時間、序列化等,這些配置變更頻率極低,卻在每個 URL 中都出現,


結合以上特征,最終應用級注冊發現被提出了,即以應用作為注冊發現的基本維度,和介面級的主要區別是,原來一個應用如果提供了 100 個介面,需要在注冊中心上注冊 100 個節點;如果這個應用有 100 臺機器,那每次發布,對于它的客戶端來說都是 10000 個虛擬節點的變更,而應用級注冊發現則只需要 1 個節點, 每次發布只變更 100 個虛擬節點,對于依賴服務數多、機器多的應用而言,是幾十到上百分之一數量級的規模下降,記憶體占用上也將至少下降一半,


然而,技術方案的設計不僅僅需要考慮功能正確,還需要考慮現有業務的升級,因此,升級到應用級注冊發現的基礎,是在其功能上需要對齊介面級注冊發現的能力,而無論客戶端是否升級或是否開啟應用級注冊發現,前提都是不影響正確的業務呼叫,


為了提供這個保證,我們設計了一個新的組件,元資料中心,用于管理兩部分資料:

  • 介面應用映射關系:上報和查詢介面到應用的映射,可以決定客戶端是否啟用應用級,避免業務代碼變更;


  • 應用級元資料快照:當一個應用不同介面之間使用的配置不同就會出現資料的分化,因此在應用級方案里,提出了元資料快照的概念,即每個應用在每次發布時都會統一生成一份元資料快照,這個快照包含當前應用的元資料版本以及當前應用提供的所有介面的配置,這個快照 ID 會存盤在 URL 中,這樣既提供了動態變更能力, 又在量級上減少了資料存盤對記憶體的壓力,


最后,由于這個新的服務發現與 Spring Cloud、Service Mesh 等體系下的服務發現模型是高度相似的,因此 Dubbo 可以從注冊中心層面與其他體系下的節點實作互發現,


Dubbo 3.0-云原生&阿里背書、易用


1.png


Dubbo 3.0 的定位是成為云原生時代的最佳微服務框架,目前可以看到的幾個趨勢有 K8s 成為資源調度的事實標準、Mesh 化成為主流以及規模上的急速增長等,這些趨勢的存在都對 Dubbo 提出了更高的要求,


1、用戶如何在 K8s 上更方便地部署和呼叫 Dubbo 服務是必須要解決的問題,要解決這個問題,統一的協議和資料交換格式是必須前提,2、Mesh 化的流行帶來了多元化問題,即原生 Dubbo 和 Mesh 化 Dubbo 如何共存,多語言的場景如何支持,3、規模的增長會給整個 Dubbo 架構帶來更大的挑戰,無論是注冊中心等組件,還是客戶端,都會有更多的資料和呼叫量,


如何在保持穩定的前提下,提供更高效的服務是 Dubbo 演進的重中之重,


這些云原生時代帶來的挑戰,促成了 Dubbo 發展到下一代:新協議、K8s 基礎架構支持、多語言支持和規模化,


1、下一代RPC協議


2.png


作為 RPC 框架最基礎的能力是完成跨業務行程的服務呼叫,將服務組成鏈、組成網,這其中最核心的載體就是 RPC 協議,


同時,由于與業務資料的緊密耦合,RPC 協議的設計與實作,也在一些方面直接決定了業務架構,比如從終端設備到后端的互動、微服務架構中多語言的采用、服務間的資料傳輸模型等,


Dubbo 2 提供了 RPC 的核心語意,包括協議頭、標志位、請求 ID 以及請求/回應資料,但在云原生時代,Dubbo 2 協議主要面臨兩個挑戰:一是生態不互通,用戶很難直接理解二進制的協議;二是對 Mesh 等網關型組件不夠友好,需要完整的決議協議才能獲取到所需要的呼叫元資料,如一些 RPC 背景關系,從性能到易用性方面都會面臨挑戰,


Dubbo 作為服務框架,其最重要的還是提供遠程通信能力,?版本 Dubbo 2 RPC 協議的設計與實作,已在實踐中被證實在?些?面限制了業務架構的發展,?如從終端設備到后端服務的互動、微服務架構中多語言的采?用、服務間的資料傳輸模型等,


在支持已有的功能和解決存在的問題的前提下,下一代的協議需要有以下特性:

  • 協議需要解決跨語言互通的問題,傳統的多語言多 SDK 模式和 Mesh 化跨語言模式都需要一種更通用易擴展的資料傳輸格式,


  • 協議應該提供更完善的請求模型,除了 Request/Response 模型,還應該支持 Streaming 和 Bidirectional,


  • 在性能上保留 request Id 機制,以避免隊頭阻塞帶來的性能損耗,


  • 易擴展,包括但不限于 Tracing/ Monitoring 等支持,也應該能被各層設備識別,降低用戶理解難度,


基于這些需求,HTTP2/protobuf 的組合是最符合的,提到這兩個的組合,可能很容易就會想到 gRPC 協議,新一代的協議和 gRPC 的關系如下:

1、Dubbo 新協議是基于 GRPC 擴展的協議,這也保證了在生態系統上新協議和 GRPC 是能夠互通和共享的,

2、在第一點的基礎上,Dubbo 新協議將更原生的支持 Dubbo 的服務治理,提供更大的靈活性,

3、在序列化方面,由于目前大多數應用方還沒有使用 Protobuf ,所以新協議會在序列化方面給予足夠的支持,平滑的適配現有序列化,方便遷移到 Protobuf,

4、在請求模型上,新協議將原生支持 Reactive,這也是 gRPC 協議所不具備的,


2、Service Mesh


3.png


為了使 Dubbo 在 Service Mesh 體系下落地,在參考了眾多的方案之后,最終確定了最適合 Dubbo 3.0 的兩種形態的 Mesh 方案,?種是經典的基于 Sidecar 的 Service Mesh,另?種是無 Sidecar 的 Proxyless Mesh,


對于 Sidecar Mesh 方案,其部署方式和當前主流 Service Mesh 部署方案一致,Dubbo 3.0 的重點是盡量給業務應用提供完全透明的升級體驗,不止是編程視角的無感升級,還包括通過 Dubbo 3.0 輕量化、Triple 協議等,讓整個呼叫鏈路上的損耗與運維成本也降低到最低,這個方案也被稱為 Thin SDK 方案,而 Thin 的地方就是在于去除了所有不需要的組件,


Proxyless Mesh 部署方案則是 Dubbo 3.0 規劃的另?種 Mesh 形態,目標是不需要啟動 Sidecar,由傳統 SDK 直接與控制面互動,


設想一下針對以下?種場景會?常適用 Proxyless Mesh 部署方案:

  • 業務方期望升級 Mesh 方案,但卻無法接受由于 Sidecar 進行流量劫持所帶來的性能損耗,這種情況常見于核心業務場景


  • 期望降低 Sidecar 運維成本,降低系統復雜度


  • 遺留系統升級緩慢,遷移程序漫長,多種部署架構?期共存


  • 多種部署環境,這里的多種部署環境包括了如 VM 虛擬機、Container 容器等多種部署方式,也包括了多種型別應用混合部署,例如 Thin SDK 與 Proxyless 方案混合部署,對性能敏感應用部署 Proxyless 模式,對于周邊應用采用 Thin SDK 部署方案,多種資料面共同由統一控制面進行調度,


將這兩種形態統籌來看,在不同的業務場景、不同的遷移階段、不同的基礎設施保障情況下, Dubbo 都會有 Mesh ?案可供選擇,?這進?步的都可以通過統?的控制?進行治理,


未來的部署


1、部署在K8s上


4.png


上圖是 Dubbo 3.0 未來期望在 Kubernetes 上的部署方案,Dubbo 3.0 將在服務發現模型上對其 Kubernetes 的原生服務,支持不需要部署獨立的注冊中心就可以實作互相呼叫,


2、部署在Istio上


5.png


上圖是 Dubbo 3.0 未來期望在 Istio 上的部署方案,這里采用的是 Thin SDK 與 Proxyless 混合部署模式,如圖中的 Pod 1 和 Pod 3,資料流量由 Dubbo Service 直接發出,而 Pod 2 部署的是 Thin SDK 模式,流量由 Sidecar 進行攔截后流出,


柔性增強規劃


6.png


云原生帶來了技術標準化的重大變革,如何讓應用在云上更簡單地創建和運行,并具備可彈性擴展的能力,是所有云原生基礎組件的核心目標,借助云原生技術帶來的彈性能力,應用可以在極短時間內擴容出一大批機器以支撐業務需要,


比如為了應對零點秒殺場景或者突發事件,應用本身往往需要數千甚至數萬的機器數來提升性能以滿足用戶的需要,但是在擴容的同時也帶來了諸如集群節點極多導致的節點例外頻發、服務容量受多種客觀因素影響導致節點服務能力不均等一系列的問題,這些都是在云原生場景下集群大規模部署時會遇到的問題,


Dubbo 期待基于一種柔性的集群調度機制來解決這些問題,這種機制主要解決的問題有兩個方面,一是在節點例外的情況下,分布式服務能夠保持穩定,不出現雪崩等問題;二是對于大規模的應用,能夠以最佳態運行,提供較高的吞吐量和性能,

  • 從單一服務視角看,Dubbo 期望的目標是對外提供一種壓不垮的服務,即是在請求數特別高的情況下,可以通過選擇性地拒絕一些的請求來保證總體業務的正確性、時效性,


  • 從分布式視角看,要盡可能降低因為復雜的拓撲、不同節點性能不一導致總體性能的下降,柔性調度機制能夠以最優的方式動態分配流量,使異構系統能夠根據運行時的準確服務容量合理分配請求,從而達到性能最優,




Dubbo 3.0 路線圖


7.png


Apache Dubbo 3.0.0 作為捐給 Apache 后的一個里程碑版本已經在今年 6 月份正式發布了,這代表著 Apache Dubbo 全面擁抱云原生的一個節點,


在 2021 年 11 月我們會發布 Apache Dubbo 3.1 版本,屆時我們會帶來 Apache Dubbo 在 Mesh 場景下部署的實作與實踐,

在 2022 年 3 月我們會發布 Apache Dubbo 3.2 版本,在這個版本中我們將帶來全新的大規模應用部署下智能流量調度機制,提高系統穩定性與資源利用率,


最后,Apache Dubbo 3.0 已經和阿里巴巴集團內部的 RPC 框架實作了融合,期望用它來解決內部落地問題,做到技術堆疊統一,未來,Apache Dubbo 3.0 將大規模落地阿里集團,承載 618、雙十一等復雜業務場景,


社區會盡可能保證一個較短的發版周期,及時對已有的問題進行修復,社區衷心地希望歡迎大家向社區提交 issue 和 PR,社區的同學會盡快進行 review、回復,感謝大家的支持!

想要討論更多與 Dubbo 相關的內容,可搜尋群號:21976540 加入

原文鏈接:https://developer.aliyun.com/article/785595?

著作權宣告:本文內容由阿里云實名注冊用戶自發貢獻,著作權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任,具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》,如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻洗掉涉嫌侵權內容,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291011.html

標籤:其他

上一篇:Linux手冊--開發環境及工具

下一篇:Alibaba Cloud ToolKit 工具的使用:在IDEA中自動發布到服務器

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more