爲何說鴻蒙的軟總線是個錯誤設計?

軟總線只是個名字而已,隨便起這個沒什麼好抨擊的,換臺灣人可能還叫匯排流呢。restful

說軟總線是個錯誤設計指的是它退回了RPC。架構

RPC是個有態的東西,並且是操做語義的,這個自由度太大了,尚未好的抽象,這直接致使ab兩點之間只能end-to-end,這個抽象程度是不夠的。分佈式

b不能是一組服務嗎?不能是facade模式同樣聚合的嗎?a/b能對稱嗎?重用一個transport?設計

這些都是更寬泛的場景。實際上HTTP有一點歷史緣由作得不夠純粹,但restful毫無疑問是正確的(指資源模型和crud);而mqtt在另外一側,它是資源語義實現了觀察者模式,重要的是它雖然也是有態的東西,但態即資源,服務端能夠scale。rest

一個系統的架構和通信能力決定了這個系統能走多遠,鴻蒙的設計者僅僅是有關個模糊的想法,能夠基於wan實現(90年代的)分佈式OS的設計理念,可是設計者沒設計過系統級通信協議,也不知道系統級的通信協議(例如9P)的設計取捨原則是什麼,沒有準確的vision固然也不會有正確的設計。資源

使用end-to-end的操做語義RPC設計已經把這個系統限制在沒法應對將來場景了,當節點數量多的時候,協同的難度是幾何級數增長的。這是20年前的東西,若是RPC是正確的,jini早就統治了世界。qt