1

软总线只是个名字而已,随便起这个没什么好抨击的,换台湾人可能还叫汇排流呢。

说软总线是个错误设计指的是它退回了RPC。

RPC是个有态的东西,而且是操作语义的,这个自由度太大了,还没有好的抽象,这直接导致ab两点之间只能end-to-end,这个抽象程度是不够的。

b不能是一组服务吗?不能是facade模式一样聚合的吗?a/b能对称吗?重用一个transport?

这些都是更宽泛的场景。实际上HTTP有一点历史原因做得不够纯粹,但restful毫无疑问是正确的(指资源模型和crud);而mqtt在另一侧,它是资源语义实现了观察者模式,重要的是它虽然也是有态的东西,但态即资源,服务端可以scale。

一个系统的架构和通讯能力决定了这个系统能走多远,鸿蒙的设计者仅仅是有关个模糊的想法,可以基于wan实现(90年代的)分布式OS的设计理念,但是设计者没设计过系统级通讯协议,也不知道系统级的通讯协议(例如9P)的设计取舍原则是什么,没有准确的vision当然也不会有正确的设计。

使用end-to-end的操作语义RPC设计已经把这个系统限制在无法应对未来场景了,当节点数量多的时候,协同的难度是几何级数增加的。这是20年前的东西,如果RPC是正确的,jini早就统治了世界。


uglee
1.1k 声望1.2k 粉丝