谈谈SpringCloud与云原生,你明白了吗?
发布时间:2023-02-28 10:56:47 所属栏目:云计算 来源:
导读:很多公司由于经济原因,就会有自研的RPC架构。
尤其是在2015-2017期间,Spring Cloud刚刚面世,Dubbo停止维护多年,很多公司在设计自己的RPC框架时,都会基于Spring Cloud做二次开发。并且会大量使用Spring Clou
尤其是在2015-2017期间,Spring Cloud刚刚面世,Dubbo停止维护多年,很多公司在设计自己的RPC框架时,都会基于Spring Cloud做二次开发。并且会大量使用Spring Clou
很多公司由于经济原因,就会有自研的RPC架构。 尤其是在2015-2017期间,Spring Cloud刚刚面世,Dubbo停止维护多年,很多公司在设计自己的RPC框架时,都会基于Spring Cloud做二次开发。并且会大量使用Spring Cloud Netflix相关的模块与代码。 因此,我们去梳理一下Spring Cloud的前世今生,以及未来云原生发展的趋势,可以给这些RPC框架的演进带来一些启发。 1、Spring Cloud的历史 Spring Cloud 自 2015 年 3 月推出之后,很快就在 Java 微服务生态中,成为开发人员的首选技术栈。 Spring Cloud 在 Spring Boot 的基础上,保留 Java 开发习惯,加入分布式特性,提供了一系列通用工具来帮助开发者在分布式系统里快速构建一些常见模式,现在已成为使用范围最广的微服务架构之一。 Spring Cloud提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、集群状态管理等组件。最重要的是,跟Spring Boot框架一起使用的话,会让你开发微服务架构非常方便。 Spring Cloud本身不是新的框架,它是一系列框架的有机组合,利用Spring Boot的开发便利性,巧妙地简化了分布式系统基础设施的开发。 注意,并非所有组件都由Spring提供,Netflix扮演了重要的角色。注册中心Eureka、熔断器Hystrix、负载均衡组件Ribbon、网关Zuul等重要组件均由Netflix提供,主要贡献来自 Netflix OSS。 2、Spring Cloud的现在 由于Netflix在开源投入上的策略调整,Eureka、Hystrix、Ribbon 相继宣布停止维护,社区上人心惶惶,因为当时绝大部分开发者认为 Spring Cloud = Spring Cloud Netflix。 但实际上 Spring Cloud 是一套规范,这套规范并不是只有 Netflix OSS,还有 Spring Cloud Alibaba,Spring Cloud Zookeeper,Spring Cloud Consul,Spring Cloud Kubernetes 这些实项,最近腾讯也开源了Spring Cloud Tencent(暂时还没有进入Spring Cloud 官方社区)。 2.1 Spring Cloud Alibaba Spring Cloud Alibaba(后面简称SCA) 是目前国内Spring Cloud最活跃、组件最多,也是最容易推广的替代 Spring Cloud Netflix 的移动业务的实现。 我们可以看到,SCA对Spring Cloud的实现,采用了几个目前非常热门的项目,基本上可以做到快速接入,稳定使用。 不过这里有个地方需要注意,从SCA 的2.2.7-RELEASE版本后,不再支持dubbo的快速接入了,而是直接使用了Spring Cloud的原生调用方式(OpenFeign和RestTemplate)。 为什么呢?查了下issue找到了社区相关讨论https://github.com/alibaba/spring-cloud-alibaba/issues/2398。 总结起来有几点原因: SCA的Spring Cloud Dubbo这个模块存在一些问题,并且没有人力继续维护了,考虑到用的人不多,所以就不再继续维护。 SCA的目的是为了将阿里云相关组件能快速替换SpringCloud相关模块而诞生的,比如nacos、sentinal、seata、rocketMQ。 Dubbo自身生态非常成熟,一般不需要跟Spring Cloud混用,一般是二选一。尤其是Dubbo 3.x后支持了Mesh,通过rest方式调用完全可以自成体系。 2.2 Spring Cloud Tencent Spring Cloud Tencent(后面简称SCT)是腾讯最近开源的SC实现框架,项目地址https://github.com/Tencent/spring-cloud-tencent。 这是一整套自研的组件,以腾讯云polaris为核心,实现 注册中心、配置中心、服务路由、限流 等等。 目前相对来说腾讯集团内部使用较多,外界案例较少。 2.3 小结 Spring Cloud Netflix虽然不再维护,但是Spring Cloud依然火热,SCA目前看可能会成为国内最佳实现选择。这种情况下,我们需要考虑的是如何在不影响性能的前提下提高系统的可扩展性。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐