我正在调查 DBus 消息 Q。只需几个查询:1) DBus 是否保证消息是有序的(FIFO)?2)DBus可以用于分布式系统(位于不同系统中的进程)
谢谢...
1) 是的,消息顺序被保留,尽管不同的发件人可能会竞争。有一些 D-Bus 库搞乱了实现同步方法调用的顺序。
2) 否/分类。D-Bus 最常见的是在 UNIX 域套接字之上实现的,根据定义,它们仅限于一台主机。D-Bus 规范允许 D-Bus 在 TCP 之上运行。因此,一个节点可以作为消息传递中心。所以,并不是真正的分布式。
此外,许多 D-Bus 库不允许连接任意总线(如果“connect”调用仅支持“system”和“session”,它们指的是 Linux 系统上的两个默认 UNIX 域套接字)
1)否,发送者设置(任意)消息序列号,另一方负责在回复序列字段中设置相同的编号
2) 是的,只要您的总线守护程序能够从服务名称中了解节点位置并相应地路由消息。不确定dbus-daemon
能力