软总线只是个名字而已,轻易起这个没什么好鞭挞的,换台湾人可能还叫汇排流呢。
说软总线是个谬误设计指的是它退回了 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 早就统治了世界。