共计 2377 个字符,预计需要花费 6 分钟才能阅读完成。
欢送拜访我的 GitHub
这里分类和汇总了欣宸的全副原创 (含配套源码):https://github.com/zq2599/blog_demos
初识 spring-cloud-square
- 2021 年 4 月 13 日,spring 在官网博客上发表,一个名为 <font color=”blue”>Spring Cloud Square</font> 的我的项目正式公布首个公开可用的里程碑版本:
- 热门视频网站于 2021 年 7 月 7 日公布一段介绍 <font color=”blue”>Spring Cloud Square</font> 的视频,如下图,大佬 Josh Long 给咱们演示了如何用 Spring Cloud Square 将 SpringBoot 利用的 HTTP 客户端做得更智能,B 站搜寻 <font color=”blue”>spring-cloud-square</font> 即可
- 在介绍 spring-cloud-square 之前,咱们先去理解一下 square,会对咱们前面的了解有很大帮忙,网站是:https://square.github.io,如下图,这是个开源网站,向社区奉献了很多库,到底有哪些库呢?点击下图红框中的 Java 试试:
- 如下图,Java 库还真不少呢,红框中的两位:okhttp 和 retrofit,都是赫赫有名:
- 至此,聪慧的您应该猜到了:spring-cloud-square 和下面提到的 square 无关,具体的说应该是和 square 的 java 库无关,例如将 okhttp 和 retrofit 与 SpringBoot 的主动拆卸联合,玩出点花色来
- 另外关键字还有 <font color=”red”>spring-cloud</font>,再加上 okhttp 和 retrofit 都和网络拜访无关,spring-cloud-square 的身份就更具体了:借助 square 的库,不便 Spring Cloud 环境中的服务调用!
提前小结
- 为防止因废话太多而被聪慧的您摈弃,当初就小结什么是 spring-cloud-square:
- spring-cloud-square 的重点是 <font color=”red”> 集成 </font>
- Spring Cloud LoadBalance 提供了依据服务名获取对应 IP 和端口的能力
- OkHttpClient 和 Retrofit 是近程拜访的框架
- Spring Cloud LoadBalance 和 OkHttpClient 组合的话,在用 OkHttpClient 近程拜访的时候能够用服务名做地址了,具体的 IP 和端口由 Spring Cloud LoadBalance 负责获取
- Spring Cloud LoadBalance 和 Retrofit 组合,也是同样的情理
- 于是,Spring 官网就推出了上述组合,用 AutoConfig 再加大量代码 (例如 OkHttpClient 增加 Interceptor,性能是将服务名替换成 IP 和端口),将上述关键技术做组合,再包装成 jar,例如 spring-cloud-square-okhttp.jar 就是 Spring Cloud LoadBalancer 与 OkHttpClient 的组合
- 咱们开发 SpringBoot 利用时,间接依赖 spring-cloud-square-okhttp.jar,再增加大量代码(如 Builder 实例化),就能不便的近程调用了;
- 这种组合型 jar 包,Spring 一口气做了三个,而后起个名字叫做 <font color=”red”>spring-cloud-square</font>,而后,您爱用哪个就用哪个
- 咱们开发 SpringBoot 利用时,间接依赖 spring-cloud-square-okhttp.jar,再增加大量代码(如 Builder 实例化),就能不便的近程调用了;
- 看到这里,聪慧的您应该明确了,spring-cloud-square 原来这么简略,只是将注册核心和和网络工具集成,为利用开发提供了一些辅助而已,实际上看过 spring-cloud-square 源码之后也的确如此,不过 spring-cloud-square 目前还只是孵化我的项目,因为 Spring 技术栈在一直演进,置信它会越来越合乎官网的形容:Smart,做更智能的 HTTP 客户端
- 接下来再看看 spring-cloud-square 提供的具体的能力有哪些
spring-cloud-square 的具体能力
- 如下图所示,spring-cloud-square 一共有三种能力,下图每一个红色背景的节点代表一种具体的能力,稍后会具体阐明:
- okhttp 类型容易了解,只有一个 jar 文件:spring-cloud-square-retrofit.jar,用在最简略的申请响应场景
- retrofit 的益处很多(简洁易用, 解耦, 扩展性强, 可搭配多种 Json 解析框架 (例如 Gson), 反对 RxJava),就不在本文开展了,博览群书的您应该记得,retrofit 无奈独立实现网络操作,其底层还要依赖更加根底的库,这个特点在 spring-cloud-square 中也体现进去了:和 okhttp 搭配是常见的经典组合(安卓开发的同学肯定很相熟),或者和 webflux 搭配,用在响应式异步非阻塞场景;
- 看到这里,聪慧的您应该得出一个论断:<font color=”red”> 欣宸废话太多 …</font>
- 您说的没错,下一篇咱们进入实战环节,写代码体验 spring-cloud-square,欣宸原创,必不会辜负您的期待
你不孤独,欣宸原创一路相伴
- Java 系列
- Spring 系列
- Docker 系列
- kubernetes 系列
- 数据库 + 中间件系列
- DevOps 系列
欢送关注公众号:程序员欣宸
微信搜寻「程序员欣宸」,我是欣宸,期待与您一起畅游 Java 世界 …
https://github.com/zq2599/blog_demos
正文完