110,571
社区成员
发帖
与我相关
我的任务
分享
public interface RSocket extends Availability, Closeable {
/**
* 推送元信息,数据可以自己定
*/
Mono<Void> metadataPush(Payload payload);
/**请求/响应
* 当你发送一个请求并接收一个响应时,该协议也比 HTTP 更具优势,因为它是异步且多路复用的
*/
Mono<Payload> requestResponse(Payload payload);
/**即发即忘
* 请求/响应的优化,在不需要响应时非常有用,比如用于非关键事件的日志记录
*/
Mono<Void> fireAndForget(Payload payload);
/**请求/流
* 类似于返回集合的请求/响应,集合将以流的方式返回,而不是等到查询完成,例如,发送一个银行帐号,使用一个实时的帐户事务流进行响应
*/
Flux<Payload> requestStream(Payload payload);
/**通道
* 允许任意交互模型的双向消息流
*/
Flux<Payload> requestChannel(Publisher<Payload> payloads);
/**健康度检查
* double值可以作为权重,如1.0表示处理能力非常好,0.8一般
*/
default double availability() {
return isDisposed() ? 0.0 : 1.0;
}
当我们忽略所有的transfer,无论用什么transfer 都可以用这个接口,他会怎么样。
是的,东西不是没有,好东西多的是。但是你要看的清
用你另一个帖子来说。
假设你说你是西门子的S7协议又如何呢? 一个comTransefer,一个S7协议解析(当然这个玩意rsockect代码没有,因为他的设计思路是故意不留协议解析,他想统一传输层封包,让你不必关心封包部分只关心transerfer和那个使用接口),一个使用接口
那么你另一个帖子其实就已经设计好了。对其实已经设计好了,如果你用netcore的话
你的要的设计,人家早已做出,就看你们到底是跟着园子混,还是跟着真正的工程项目混
var S7使用接口= comTransefer()
.S7协议()
S7使用接口.requestStream() //订阅推送式,我们当然知道S7协议是有订阅推送的,如果硬件支持协议支持,我们就可以用订阅推送
s7使用接口。 requestRespons()//主从问答式,如果硬件不给推,我们当然只能采用主从一问一答。那么调度引擎有么当然有
然后你说结果反馈,有么。当然也有传统状态机,那个园子说的老鼠和猫(所谓观察者),响应式编程,stream流式数据处理,管道处理通通都有
3.之所以另外跟你提Ros机器人系统,其实也是给你提个醒。具体的手段是2,总体架构其实就是1跟3.
这里我就说前面按下没说的,别跟那个园子整天瞎扯。其实你要的东西,从来就有。一直都在。
无论20年前的windows,还是现在Azure云,还是他们号称的DDD,微服务,从来就是一种东西。
windows怎么实现的各个硬件的注册,消息通讯啊-------------Pnp即插即用设备驱动,通用pci总线bus,消息iqr
Azure云怎么实现啊-----------------------azrueiot即插即用,azrue eventbus行为事务总线,消息订阅和发布
DDD------------------那个园子吹了10多年的DDD,就没有一个能落地的。现在倒是落地的一个abp,可惜的是如果没有netcore那个service.add(即插即用),没有netcore的pipeline(总线bus),他们依旧只是吹个泡泡
Ros机器人系统------------------依旧是这个套路,node节点的注册(即插即用),node节点消息bus
这就是我们说,为啥明白的不说,因为没啥可说的。你说的工具和手段多年前就已经有了。我们其实并没有要说的,我们只是写 设备插件(热插拔)把设备注册进去,然后利用消息总线互相通讯和控制(哪怕是libview其实都是一个思路,libview的工具箱,对啊,编写一个特定功能工具箱注册进去,然后利用他内部总线通讯)