一个软件系统最基础的几要素无外乎,计算,存储,通信,可视化。
计算涉及到系统的业务逻辑,线程模型,性能优化。
存储涉及到系统数据的存储方式,持久化
通信设计到数据的传输,交互,通信
可视化设计到人机交互,数据的可视化等等
对于SOA架构来讲,通信是非常重要的一环,涉及到rpc框架的选择。目前高性能的rpc框架有grpc,阿里的dubbo,阿里的dubbo是基于netty实现的,grpc则是基于http2实现。两者性能其实相差不了多少。流计算flink这种则基于akka实现。归根到底大家都是基于jdk的nio不表。互联网时代通信层是很重要的,没有通信层就没有分布式跟微服务一说,就没有service mesh,没有通信就没有现代的软件架构。