为什么说鸿蒙的软总线是个错误设计?
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早就统治了世界。
以上是关于为什么说鸿蒙的软总线是个错误设计?的主要内容,如果未能解决你的问题,请参考以下文章