原创 吴就业 142 0 2020-06-17
本文为博主原创文章,未经博主允许不得转载。
本文链接:https://wujiuye.com/article/69688b06a4d140178ad2bc351e9f9c4c
作者:吴就业
链接:https://wujiuye.com/article/69688b06a4d140178ad2bc351e9f9c4c
来源:吴就业的网络日记
本文为博主原创文章,未经博主允许不得转载。
本篇文章写于2020年06月17日,从公众号|掘金|CSDN手工同步过来(博客搬家),本篇为原创文章。
GitHub:https://github.com/spring-cloud/spring-cloud-kubernetes
“Spring Cloud Kubernetes
提供使用Kubernetes
原生服务的Spring Cloud
公共接口实现。此代码仓库中提供的项目是促进在Kubernetes
中运行的Spring Cloud
和Spring Boot
应用程序的集成“,这是官方的介绍。
了解Spring Cloud Alibaba
的朋友就很容易理解这句话。简单说,Spring Cloud Alibaba
就是为快速搭建集成Dubbo
、Nacos
等阿里开源的生态服务的微服务项目提供的脚手架。而Spring Cloud Kubernetes
就是帮助大家更快的搭建使用Kubernetes
原生服务的微服务项目,并与Spring Cloud
集成。
比如使用Kubernetes
的原生etcd
服务实现服务的发现与注册、配置中心,而不需要使用第三方服务注册中心、配置中心。
其实,在社区的贡献下,Dubbo
也提供了使用etcd
做服务注册中心和配置中心的支持,但估计很少人会去使用。
Dubbo
的服务注册、发现、调用都依赖IP
,且Dubbo
的服务注册是以接口为维度的,而不是以进程为维度,因此Dubbo
的服务注册发现模型与Kubernetes
的服务注册发现模型不是很匹配,这些都使得将一个Dubbo
项目迁移至Kubernetes
容器变得困难,需要对原有Dubbo
项目作出一些改变,这也是我们在做新项目技术选型时需要考虑的问题。好消息是,Dubbo
将在3.x
版本提供服务级别的注册和发现功能,Dubbo也在向云原生靠拢。
上图为Spring Cloud Kubernetes
的源码框架截图,后续我们将会使用到的模块有:实现服务注册和发现的discovery
模块、实现配置中心的config
模块。
spring-cloud-kubernetes
的1.1.3.RELEASE
对应spring cloud
版本为Hoxton.SR5
。Spring Cloud
每个版本依赖的Spring Boot
版本,官网都有给出说明。关于版本,我们也可以从pom.xml
文件中获取到。
在了解Spring Cloud Kubernetes
是什么之后,我们再讨论下为什么要选择Spring Cloud Kubernetes
?
选择Spring Cloud Kubernetes
意味着我们想要将服务部署到Kubernetes
集群,Spring Cloud Kubernetes
为我们实现了Spring Cloud
的一些接口,让我们可以快速搭建Spring Cloud
微服务项目框架,并能使用Kubernetes云原生服务。
Kubernetes
提供服务注册和发现、以及配置中心的实现,我们完全没有必要再自己部署一套注册中心、配置中心,因此Spring Cloud Kubernetes
为我们提供使用这些原生服务的接口实现。除注册中心和配置中心之外,如果我们还想使用istio
,Spring Cloud Kubernetes
也提供了支持,这些无非就是解释文章开头的那句话“Spring Cloud Kubernetes
提供使用Kubernetes
原生服务的Spring Cloud
公共接口实现”。
除此之外,我们依然可以使用Spring Cloud
生态的各种第三方框架的快速集成starter
,如网关Spring Cloud Gateway
、限流熔断组件Sentinel
。
下一篇我们开始使用Spring Cloud Kubernetes
搭建一个Demo
级别的微服务项目。
声明:公众号、CSDN、掘金的曾用名:“Java艺术”,因此您可能看到一些早期的文章的图片有“Java艺术”的水印。
如果指定了URL,那么getOptional方法不会返回null,且返回的Client是LoadBalancerFeignClient,但不会抛出异常。如果不指定URL,则走负载均衡逻辑,走的是loadBalance方法,且抛出异常。
本篇我们将从一个简单的demo上手Spring Cloud kubernetes,当然,我们只用到Spring Cloud kubernetes的服务注册与发现、配置中心模块。
作为开发者,只有足够了解容器技术,才能做好技术选型,以及开发部署在Kubernetes容器服务之上的应用应该要注意哪些问题。如果运维不了解代码,开发也不了解Kubernetes,谁能解决将服务迁移到Kubernetes上遇到的各种问题呢?
订阅
订阅新文章发布通知吧,不错过精彩内容!
输入邮箱,提交后我们会给您发送一封邮件,您需点击邮件中的链接完成订阅设置。