當前位置:首頁 » 算力簡介 » 去中心化伺服器框架

去中心化伺服器框架

發布時間: 2021-03-29 18:31:06

A. rpc框架都有哪些rmi bbo

Dubbo分層

config(配置層 )

proxy(服務代理層)

registry( 注冊中心層)

cluster( 路由層)

monitor( 監控層)

protocol( 遠程調用層)

exchange( 信息交換層)

transport( 網路傳輸層)

serialize( 數據序列化層)

對外配置介面
以ServiceConfig, ReferenceConfig為中心,可以直接new配置類,也可以通過spring解析配置生成配置類
Javassist ProxyFactory
Jdk ProxyFactory
服務介面透明代理,生成服務的客戶端Stub和伺服器端Skeleton
以ServiceProxy為中心,擴展介面為ProxyFactory
選擇

Zookeeper

Redis

Multicast

Simple

支持基於網路的集群方式,有廣泛周邊開源產品,建議使用bbo-2.3.3以上版本(推薦使用)
依賴於Zookeeper的穩定性
支持基於客戶端雙寫的集群方式,性能高
要求伺服器時間同步,用於檢查心跳過期臟數據
去中心化,不需要安裝注冊中心
依賴於網路拓普和路由,跨機房有風險
Dogfooding,注冊中心本身也是一個標準的RPC服務
沒有集群支持,可能單點故障
封裝服務地址的注冊與發現
以服務URL為中心,擴展介面為RegistryFactory, Registry, RegistryService
選擇

Spring

Jetty

Log4j

自動載入META-INF/spring目錄下的所有Spring配置
啟動一個內嵌Jetty,用於匯報狀態
大量訪問頁面時,會影響伺服器的線程和內存
自動配置log4j的配置,在多進程啟動時,自動給日誌文件按進程分目錄
用戶不能控制log4j的配置,不靈活
條件路由

腳本路由

基於條件表達式的路由規則,功能簡單易用
有些復雜多分支條件情況,規則很難描述
基於腳本引擎的路由規則,功能強大
沒有運行沙箱,腳本能力過於強大,可能成為後門
Random

RoundRobin

LeastActive

ConsistentHash

隨機,按權重設置隨機概率(推薦使用)
在一個截面上碰撞的概率高,重試時,可能出現瞬間壓力不均
輪循,按公約後的權重設置輪循比率
存在慢的機器累積請求問題,極端情況可能產生雪崩
最少活躍調用數,相同活躍數的隨機,活躍數指調用前後計數差,使慢的機器收到更少請求
不支持權重,在容量規劃時,不能通過權重把壓力導向一台機器壓測容量
一致性Hash,相同參數的請求總是發到同一提供者,當某一台提供者掛時,原本發往該提供者的請求,基於虛擬節點,平攤到其它提供者,不會引起劇烈變動
壓力分攤不均
Failover

Failfast

Failsafe

Failback

Forking

Broadcast

失敗自動切換,當出現失敗,重試其它伺服器,通常用於讀操作(推薦使用)
重試會帶來更長延遲
快速失敗,只發起一次調用,失敗立即報錯,通常用於非冪等性的寫操作
如果有機器正在重啟,可能會出現調用失敗
失敗安全,出現異常時,直接忽略,通常用於寫入審計日誌等操作
調用信息丟失
失敗自動恢復,後台記錄失敗請求,定時重發,通常用於消息通知操作
不可靠,重啟丟失
並行調用多個伺服器,只要一個成功即返回,通常用於實時性要求較高的讀操作
需要浪費更多服務資源
廣播調用所有提供者,逐個調用,任意一台報錯則報錯,通常用於更新提供方本地狀態
速度慢,任意一台報錯則報錯
封裝多個提供者的路由及負載均衡,並橋接注冊中心
以Invoker為中心,擴展介面為Cluster, Directory, Router, LoadBalance
Cluster選擇

Router選擇

路由規則

容器

RPC調用次數和調用時間監控
以Statistics為中心,擴展介面為MonitorFactory, Monitor, MonitorService
Dubbo協議

Rmi協議

Hessian協議

連接個數:單連接
連接方式:長連接
傳輸協議:TCP
傳輸方式:NIO非同步傳輸
序列化:Hessian二進制序列化
適用范圍:傳入傳出參數數據包較小(建議小於100K),消費者比提供者個數多,單一消費者無法壓滿提供者,盡量不要用bbo協議傳輸大文件或超大字元串。
適用場景:常規遠程服務方法調用
採用NIO復用單一長連接,並使用線程池並發處理請求,減少握手和加大並發效率,性能較好(推薦使用)
適合於小數據量大並發的服務調用,以及服務消費者機器數遠大於服務提供者機器數的情況
Dubbo預設協議不適合傳送大數據量的服務,比如傳文件,傳視頻等,除非請求量很低
Dubbo協議預設每服務每提供者每消費者使用單一長連接,如果數據量較大,可以使用多個連接
為防止被大量連接撐掛,可在服務提供方限制大接收連接數,以實現服務提供方自我保護
在大文件傳輸時,單一連接會成為瓶頸
總結

可與原生RMI互操作,基於TCP協議
偶爾會連接失敗,需重建Stub
參數及返回值需實現Serializable介面
參數及返回值不能自定義實現List, Map, Number, Date, Calendar等介面,只能用JDK自帶的實現,因為hessian會做特殊處理,自定義實現類中的屬性值都會丟失
連接個數:多連接
連接方式:短連接
傳輸協議:HTTP
傳輸方式:同步傳輸
序列化:Hessian二進制序列化
適用范圍:傳入傳出參數數據包較大,提供者比消費者個數多,提供者壓力較大,可傳文件
適用場景:頁面傳輸,文件傳輸,或與原生hessian服務互操作
提供者用Dubbo的Hessian協議暴露服務,消費者直接用標准Hessian介面調用
或者提供方用標准Hessian暴露服務,消費方用Dubbo的Hessian協議調用
基於Hessian的遠程調用協議
可與原生Hessian互操作,基於HTTP協議
需hessian.jar支持,http短連接的開銷大
Hessian協議用於集成Hessian的服務,Hessian底層採用Http通訊,採用Servlet暴露服務,Dubbo預設內嵌Jetty作為伺服器實現
可以和原生Hessian服務互操作

總結

約束

封裝RPC調用
以Invocation, Result為中心,擴展介面為Protocol, Invoker, Exporter
選擇

封裝請求響應模式,同步轉非同步
以Request, Response為中心,擴展介面為Exchanger, ExchangeChannel,ExchangeClient, ExchangeServer
Netty

Mina

Grizzly

性能較好(推薦使用)
一次請求派發兩種事件,需屏蔽無用事件
老牌NIO框架,穩定
待發送消息隊列派發不及時,大壓力下,會出現FullGC
Sun的NIO框架,應用於GlassFish伺服器中
線程池不可擴展,Filter不能攔截下一Filter
抽象mina和netty為統一介面
以Message為中心,擴展介面為Channel, Transporter, Client, Server, Codec
選擇

Hessian

Dubbo

Json

Java

性能較好,多語言支持(推薦使用)
Hessian的各版本兼容性不好,可能和應用使用的Hessian沖突,Dubbo內嵌了hessian3.2.1的源碼
通過不傳送POJO的類元信息,在大量POJO傳輸時,性能較好
當參數對象增加欄位時,需外部文件聲明
純文本,可跨語言解析,預設採用FastJson解析
性能較差
Java原生支持
性能較差
可復用的一些工具
擴展介面為Serialization, ObjectInput, ObjectOutput, ThreadPool
選擇

Business

RPC

Remoting

Service
Config
Proxy
Registry
Cluster
Monitor
Protocol
Exchange
Transport
Serialize
層次結構

層說明

B. 整合下列信息,回答什麼叫「PTP"。①這是一個徹底「去中心化」(Decentralize)的檔案交換架構。②「點對點

即「點對點」(PeetoPeer),這是一種新的獲取信息的方式,每個人既是信息的獲得者,同時也是信息的提供者,用戶的電腦既是客戶端,也是伺服器。這是一個徹底「去中心化」(DeCeertalize)的檔案交換架構。

C. HNB里去中心化自治組織框架(DAO)是什麼

DAO(Data Access Object) 數據訪問對象是一個面向對象的資料庫介面,也可以稱其分散的自製組織,它顯露了 Microsoft Jet 資料庫引擎(由 Microsoft Access 所使用),並允許 Visual Basic 開發者通過 ODBC 像直接連接到其他資料庫一樣,直接連接到 Access 表。DAO最適用於單系統應用程序或小范圍本地分布使用。

D. 怎麼進行去中心化處理

根據侯傑泰的話:所謂中心化, 是指變數減去它的均值(即數學期望值)。對於樣本數據,將一個變數的每個觀測值減去該變數的樣本平均值,變換後的變數就是中心化的。
對於你的問題,應是每個測量值減去均值。

E. 比特幣有沒有中心伺服器

文章概要:一個名叫中本聰(Satoshi Nakamoto)的人,在P2P 基金會(p2pfoundation)網站上發帖,稱自己開發出了一個叫作比特幣的開源P2P(點對點)電子現金系統,它完全去中心化,沒有中央伺服器或者託管方,所有一切都是基於參與者。 比特幣™(BitCoin)是一種P2P形式的虛擬貨幣。點對點的傳輸意味著一個去中心化的支付系統。比特幣不依靠特定貨幣機構發行,它通過特定演算法的大量計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。 比特幣是一種網路虛擬貨幣,跟騰訊公司的Q幣類似,你可以使用比特幣購買一些虛擬的物品,比如網路游戲當中的衣服、帽子、裝備等,只要有人接受,你也可以使用比特幣購買現實生活當中的物品。 比特幣與其他虛擬貨幣最大的不同,是其總數量是非常有限的,具有極強的稀缺性。該貨幣系統在前4年內只有不超過1050萬個,之後的總數量將被永久限制在2100萬個之內。還有一點是,你可以用電腦生產比特幣。 詳細介紹 比特幣(Bitcoin)是一種由開源的P2P軟體產生的電子貨幣。也有人將比特幣意譯為「比特金」。虛擬貨幣比特幣(BitCoin)的概念最初由中本聰(SatoshiNakamoto)在2009年提出,現在比特幣也用於指稱bitcoin根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。與大多數貨幣不同的是,比特幣不依賴於特定的中央發行機構,而是使用遍布整個P2P網路節點的分布式資料庫來記錄貨幣的交易,並使用密碼學的設計來確保貨幣流通各個環節安全性。例如,比特幣只能被它的真實擁有者使用,而且僅僅一次,支付完成之後原主人即失去對該份額比特幣的所有權。 特徵 比特幣被設計為允許匿名的所有權與使用權,比特幣既可以被以計算機文件的形式(wallet)保存在個人電腦中,也可以儲存在第三方託管服務。不管以何種形式保存,比特幣都可以通過比特幣地址發送給互聯網上的任意一個人。P2P的分布式特性與不存在中央管理機制的設計確保了任何機構都不可能操控比特幣的價值,或者製造通貨膨脹。

F. 去中心化的基本概述

在一個分布有眾多節點的系統中,每個節點都具有高度自治的特徵。節點之間彼此可以自由連接,形成新的連接單元。任何一個節點都可能成為階段性的中心,但不具備強制性的中心控制功能。節點與節點之間的影響,會通過網路而形成非線性因果關系。這種開放式、扁平化、平等性的系統現象或結構,我們稱之為去中心化。
隨著主體對客體的相互作用的深入和認知機能的不斷平衡、認知結構的不斷完善,個體能從自我中心狀態中解除出來,稱之為去中心化。

G. bbo是分布式服務還是集群

bbo是開源的微服務開發框架,倡導的是去中心化,每個功能封裝成獨立的模塊服務,供其他服務調用,模塊可以部署多台伺服器,是一種集群。
他和soa最大不同的是有獨立的rpc通信協議,不是像soa一樣用http協議來傳輸數據的,rpc傳輸的是二進制數據,性能優於http傳輸。

H. 去中心化的互聯網服務是什麼

從互聯網發展的層面來看,去中心化是互聯網發展過程中形成的社會化關系形態和內容產生形態,是相對於「中心化」而言的新型網路內容生產過程。

I. 什麼是去中心化

去中心化(英語:decentralization)是互聯網發展過程中形成的社會關系形態和內容產生形態,是相對於「中心化」而言的新型網路內容生產過程。
相對於早期的互聯網(Web 1.0)時代,Web 2.0內容不再是由專業網站或特定人群所產生,而是由權級平等的全體網民共同參與、共同創造的結果。任何人都可以在網路上表達自己的觀點或創造原創的內容,共同生產信息。
隨著網路服務形態的多元化,去中心化網路模型越來越清晰,也越來越成為可能。Web 2.0興起後,Wikipedia、Flickr、Blogger等網路服務商所提供的服務都是去中心化的,任何參與者均可提交內容,網民共同進行內容協同創作或貢獻。
之後隨著更多簡單易用的去中心化網路服務的出現,Web2.0的特點越發明顯。例如Twitter、Facebook等更加適合普通網民的服務的誕生,使得為互聯網生產或貢獻內容更加簡便、更加多元化,從而提升了網民參與貢獻的積極性、降低了生產內容的門檻。最終使得每一個網民均成為了一個微小且獨立的信息提供商,使得互聯網更加扁平、內容生產更加多元化。

J. SOA和微服務架構的區別

SOA與微服務架構,在架構劃分、技術平台選擇等方面,均存在一定的區別。

一、架構劃分不同

1、SOA強調按水平架構劃分為:前、後端、資料庫、測試等;

2、微服務強調按垂直架構劃分,按業務能力劃分,每個服務完成一種特定的功能,服務即產品。

二、技術平台選擇不同

1、SOA應用傾向於使用統一的技術平台來解決所有問題;

2、微服務可以針對不同業務特徵選擇不同技術平台,去中心統一化,發揮各種技術平台的特長。

三、系統間邊界處理機制不同

1、SOA架構強調的是異構系統之間的通信和解耦合;(一種粗粒度、松耦合的服務架構);

2、微服務架構強調的是系統按業務邊界做細粒度的拆分和部署。

四、主要目標不同

1、SOA架構,主要目標是確保應用能夠交互操作;

2、微服務架構,主要目標是實現新功能、並可以快速拓展開發團隊。

參考資料

網路-SOA

網路-微服務架構

熱點內容
礦機帶管 發布:2025-05-05 19:04:09 瀏覽:602
加減法的算力 發布:2025-05-05 19:03:59 瀏覽:724
2018年數字貨幣上市公司 發布:2025-05-05 18:50:49 瀏覽:941
lp流動礦池 發布:2025-05-05 18:49:18 瀏覽:280
usdt節點分紅 發布:2025-05-05 18:41:17 瀏覽:652
宇宙英雄奧特曼5元包怎麼必中UR的小技巧 發布:2025-05-05 18:41:15 瀏覽:62
比特幣地址排行榜前十名 發布:2025-05-05 18:38:49 瀏覽:686
trx幣暴漲到10萬元 發布:2025-05-05 18:26:56 瀏覽:255
usdt鏈上轉賬查詢 發布:2025-05-05 18:22:34 瀏覽:626
以太坊中心共識 發布:2025-05-05 18:09:34 瀏覽:853