为什么说鸿蒙的软总线是个错误设计?

Posted uglee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么说鸿蒙的软总线是个错误设计?相关的知识,希望对你有一定的参考价值。

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

说软总线是个错误设计指的是它退回了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早就统治了世界。

以上是关于为什么说鸿蒙的软总线是个错误设计?的主要内容,如果未能解决你的问题,请参考以下文章

鸿蒙软总线的简单使用

为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)

鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 百篇博客分析OpenHarmony源码 | v62.01

canopen总线是啥?

转:为什么说Java中只有值传递

简单聊聊柳伟卫的《鸿蒙HarmonyOS应用开发从入门到精通》这本书