微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么要用Dubbo-远程通信背景

技术架构的发展从单体到分布式,是一种顺势而为的架构演进,也是一种被逼无奈的技术变革。架构的复杂度能够体现公司的业务的复杂度,也能从侧面体现公司的产品的发展势头是向上的。

和传统的单体架构相比,分布式多了一个远程服务之间的通信,不管是soa还是微服务,他们本质上都是对于业务服务的提炼和复用。那么远程服务之间的调用才是实现分布式的关键因素。

而在远程通信这个领域,其实有很多的技术,比如Java的RMI、WebService、Hessian、dubbo、Thrift等RPC框架,现在我们接触得比较多的应该就是RPC框架dubbo以及应用协议Http。其实每一个技术都是在某一个阶段产生它的价值,随着架构的变化以及需求的变化,技术的解决方案也在变。所以我们才需要不断的学习

我在前面的几次课,讲到了RPC的底层原理,服务与服务之间的调用无非就是跨进程通信而已,我们可以使用socket来实现通信,我们也可以使用nio来实现高性能通信。我们不用这些开源的RPC框架,也可以完成通信的过程。但是为什么要用现成的框架呢?

原因是,如果我们自己去开发一个网络通信,需要考虑到

1. 底层网络通信协议的处理

2. 序列化和反序列化的处理工作

但是这些工作本身应该是通用的,应该是一个中间件服务。为整个公司提供远程通信的服务。而不应该由业务开发人员来自己去实现,所以才有了这样的rpc框架,使得我们调用远程方法时就像调用本地方法那么简单,不需要关心底层的通信逻辑。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐