tft每日頭條

 > 生活

 > uuid在哪裡

uuid在哪裡

生活 更新时间:2024-10-06 01:47:47

uuid在哪裡(UUID是怎麼來的)1

定義

Universally Unique Identifier:通用唯一識别碼。一種軟件建構的标準,亦為開放軟件基金會組織在分布式計算環境領域的一部分。

目的

讓分布式系統中的所有元素,都能有唯一的辨識信息,而不需要通過中央控制端來做辨識信息的指定。如此一來,每個人都可以創建不與其它人沖突的UUID。

示例

public static void main(String[] args) { String uuid = UUID.randomUUID().toString(); System.out.println(uuid); System.out.println(uuid.length()); uuid = uuid.replace("-",""); System.out.println(uuid); System.out.println(uuid.length()); }

原理

參考 遠程服務調用 | 鳳凰架構#三個基本問題

所有流行過的 RPC 協議,都不外乎變着花樣使用各種手段來解決以下三個基本問題:

如何表示數據:

這裡數據包括了傳遞給方法的參數,以及方法執行後的返回值。無論是将參數傳遞給另外一個進程,還是從另外一個進程中取回執行結果,都涉及到它們應該如何表示。(序列化與反序列化)

如何傳遞數據:

準确地說,是指如何通過網絡,在兩個服務的 Endpoint 之間相互操作、交換數據。(Wire_Protocol)

如何确定方法:

每門語言的方法簽名都可能有所差别,所以“如何表示同一個方法”,“如何找到對應的方法”還是得弄個跨語言的統一的标準才行。這個标準做起來可以非常簡單,譬如直接給程序的每個方法都規定一個唯一的、在任何機器上都絕不重複的編号,調用時壓根不管它什麼方法簽名是如何定義的,直接傳這個編号就能找到對應的方法。這種聽起既粗魯又寒碜的辦法,還真的就是 DCE/RPC 當初準備的解決方案。

雖然最終 DCE 還是弄出了一套語言無關的接口描述語言 (Interface Description Language,IDL),成為此後許多 RPC 參考或依賴的基礎(如 CORBA 的 OMG IDL),但那個唯一的絕不重複的編碼方案UUID (Universally Unique Identifier)卻也被保留且廣為流傳開來,今天已廣泛應用于程序開發的方方面面。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved