五分钟搞懂 spring-cloud-square,linux 服务器开发需要的技术
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
初识 spring-cloud-square
2021 年 4 月 13 日,spring 在官方博客上宣布,一个名为 Spring Cloud Square 的项目正式发布首个公开可用的里程碑版本:
热门视频网站于 2021 年 7 月 7
日发布一段介绍 Spring Cloud Square 的视频,如下图,大佬Josh Long给我们演示了如何用 Spring Cloud Square 将 SpringBoot 应用的 HTTP 客户端做得更智能,B 站搜索 spring-cloud-square 即可
在介绍 spring-cloud-square 之前,咱们先去了解一下 square,会对咱们后面的理解有很大帮助,网站是:https://square.github.io,如下图,这是个开源网站,向社区贡献了很多库,到底有哪些库呢?点击下图红框中的 Java 试试:
如下图,Java 库还真不少呢,红框中的两位:okhttp 和 retrofit,都是大名鼎鼎:
至此,聪明的您应该猜到了:spring-cloud-square 和上面提到的 square 有关,具体的说应该是和 square 的 java 库有关,例如将 okhttp 和 retrofit 与 SpringBoot 的自动装配结合,玩出点花样来,
另外关键字还有 spring-cloud,再加上 okhttp 和 retrofit 都和网络访问有关,spring-cloud-square 的身份就更具体了:借助 square 的库,方便 Spring Cloud 环境中的服务调用!
提前小结
为避免因废话太多而被聪明的您抛弃,现在就小结什么是 spring-cloud-square:
spring-cloud-square 的重点是集成
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 一口气做了三个,然后起个名字叫做 spring-cloud-square,然后,您爱用哪个就用哪个
咱们开发 SpringBoot 应用时,直接依赖 spring-cloud-square-okhttp.jar,再添加少量代码(如 Builder 实例化),就能方便的远程调用了;
评论