文本已收录至我的GitHub仓库,欢迎Star: https://github.com/ZhongFuCheng3y/3y
回顾上一篇:
这周周末读了第四章,现在过来做做笔记,希望能帮助到大家。
注:在看这篇文章之前, 强烈建议 先看看我之前写过的一篇SpringCloud入门文章: 外行人都能看懂的SpringCloud,错过了血亏! 。看完再回头看这篇文章,你会发现:这本书讲的设计与实现在SpringCloud中几乎都有对应的组件支持。
从上一篇我们讲到,应用拆开了以后,不同功能/模块之间的调用不再单纯通过本机调用,引入了 远程的服务调用 。
而远程的服务调用这个东东会很难吗?说白了,不就是两台服务器之间通信吗?
这时候,你能想到什么?必定是 Socket 吧。没错,我们通过Socket肯定是可以完成两个系统之间的通信的问题的。(Socket相信大家在学习基础的时候已经写过Demo了,这我就不多BB了)
一两个系统的Socket写起来没啥,但我们应用拆分之后,系统可是会变得很多很多。
系统很多的情况下,我们在写远程调用代码的时候就可能要考虑到以下的问题:
由于系统之间的调用会非常多,我们自然是不希望写重复的代码的,所以 服务框架 (也可以说是RPC框架)就应运而生了【说白了就是 专门处理远程服务调用的框架 】。有了服务框架,我们就可以实现多个系统之间以 统一 的方式来进行远程调用了。
一个 服务框架 需要考虑的问题其实远不止上面所列出的那些,比如说:
在书中给出了设计服务框架时需要考虑的问题的同时也给出了一些实现思路,我摘录一些我觉得比较有参考意义的说说。
比如服务消费方在执行 orderService.buy("HHKB键盘")
时, 实质上调用的是远端的服务 。
这用到啥技术?明显就是动态代理( 给女朋友讲解什么是代理模式 )
在实现的时候有三个基础属性可以参考一下:
总的来说,书的第四章主要是在讲解在 设计服务框架的时候应该要考虑到哪些方面,可以以什么方案来解决 ,看得还是非常过瘾的(这只是我的个人笔记,书上还有很多的内容)。 强烈建议 配合我之前写过的一篇SpringCloud入门文章: 外行人都能看懂的SpringCloud,错过了血亏! 食用。
乐于输出 干货 的Java技术公众号: Java3y 。公众号内 有200多篇原创 技术文章、海量视频资源、精美脑图, 关注即可获取!
觉得我的文章写得不错,点 赞 !