前一篇提到了我们为什么要替换PHP语言采用Java语言。而Java语言的框架选型上来说有太多的选择,常见的有Dubbo,SpringCloud等。我们选择了SpringCloudAlibaba。替换PHP语言到SpringCloudAlibaba是个大工程,主要是业务迁移部分。讨论之初我也确认过是否迁移原有的业务,得到的明确答复是迁移。那么这么来说也就简单了,复杂的就是工期问题了。
SpringCloudAlibaba是Alibaba结合自身的微服务实践开源的一套微服务全家桶,在SpringCloud项目中进行孵化并且毕业。既然是SpringCloud的项目那么阿里云其实包含其商业化的产品。例如Nacos在阿里云就有其商业化的版本MSE。同时SpringCloudAlibaba的相关组件是经历过双十一大促考验的产品。稳定性较高。
SpringCloudAlibaba是SpringCloud的子项目,其实很多相关的文章都提到了SpringCloudAlibaba与SpringCloud的关系,其中有很多的论点都比较有意思。大家可以去搜索一下。
SpringCloudAlibaba是依赖SpringCloud相关的标准实现的一套微服务的架构。结合阿里巴巴的相关实践与阿里云的相关服务实现的一些组件得以更快的实现相关产品业务。
Nacos实现了服务的配置中心与服务注册发现的功能,Nacos可以通过可视化的配置降低相关的学习与维护成本,实现动态的配置管理与分环境的配置中心控制。同时Nacos提供了基于http/RCP的服务注册与发现功能。
Sentinel是面向分布式微服务架构的轻量级高可用的流控组件,以流量作为切入点,从流量控制,熔断降级,系统负载保护等维度帮助用户保证服务的稳定性。常用与实现限流、熔断降级等策略。
RocketMQ基于Java的高性能、高吞吐量的消息队列,在SpringCloudAlibaba生态用于实现消息驱动的业务开发,常见的消息队列有Kafka、RocketMQ、RabbitMQ等,相关的比较文档可以自行去翻阅。
既然是微服务的产品,那么肯定会用到分布式事物。Seata就是阿里巴巴开源的一个高性能分布式事物的解决方案。
Dubbo已经在圈内很火了,SpringCloudAlibaba基于上面提到的Nacos服务注册中心也同样整合了Dubbo。
SpringCloudAlibaba还有一些其他的组件选择,例如schedulerX、SMS、OSS等。但是由于其主要是阿里云的商业化产品就不再过多的进行介绍。集成其商业化产品时才能用到。
SpringCloudAlibaba是基于SpringCloud标准由阿里巴巴实现的微服务全家桶,可插拔的方式实现组件的替换,在某些场景中我们需要的组件可以自由进行选择。例如需要分布式链路跟踪我们可以增加sleuth组件用于实现分布式链路跟踪业务等。
很多人提到SpringCloudAlibaba的商业问题,记得当年SpringCloudAlibaba推出第一版的时候我也评论了...卖产品全家桶。不可否认是有那么一些,但是其实它本身的很多组件又不一定非要选择商业版本。这个可以自由进行选择。
18.SpringCloud有哪些组件?
SpringCloud的组件非常繁杂,拥有相当多的子项目,包括为人熟知的阿里开源的生态也融入其中,称之为SpringCloudAlibaba;
在SpringCloud中,最为人熟知的当属SpringCloudNetflix了,它是由Netflix公司开源的,主要涵盖Eureka,Hystrix,Zuul,Ribbon等组件~
除了SpringCloudNetflix,还有Spring开发团队自研的,比如Feign、Config,Gateway,Bus~
不过,最近1年,Netflix宣布要将自家技术闭源,不过不用担心,国产的微服务技术栈已经崛起,阿里的Nacos,Sentinel,Dubbo~有逐步替代之势,由于SpringCloud的背后支撑,微服务技能栈,互相彼此切换非常容易;
如果你想掌握时下热门微服务技术栈,跟上时代技术步伐,欢迎关注黑马程序员
SpringCloud常用组件梳理业务场景:
创建一个订单之后,如果用户立刻支付了这个订单,我们需要将订单状态更新为“已支付”
扣减相应的商品库存
通知仓储中心,进行发货
给用户的这次购物增加相应的积分
针对上述流程,我们需要有订单服务、库存服务、仓储服务、积分服务。整个流程的大体思路如下:
用户针对一个订单完成支付之后,就会去找订单服务,更新订单状态
订单服务调用库存服务,完成相应功能
订单服务调用仓储服务,完成相应功能
订单服务调用积分服务,完成相应功能
至此,整个支付订单的业务流程结束
一、Springcloud组件
1、SpringCloud核心组件:Eureka注册中心
2、SpringCloud核心组件:Feign?调用
3、SpringCloud核心组件:Ribbon负载均衡
4、SpringCloud核心组件:Hystrix熔断器错误降级防止雪崩
5、SpringCloud核心组件:Zuul网关各端请求统一处理
logo设计
创造品牌价值
¥500元起
APP开发
量身定制,源码交付
¥2000元起
商标注册
一个好品牌从商标开始
¥1480元起
公司注册
注册公司全程代办
¥0元起
查
看
更
多
springcloudalibaba都有哪些组件?
SpringCloud五大核心组件SpringCloudnetflix核心组件:Eureka:服务治理注册中心Hystrix:服务保护框架Ribbon:客户端负载均衡器Feign:基于ribbon和hystrix的声明式服务调用组件Zuul:网关组件,提供智能路由、访问过滤等功能。归结起来就是5个核心,服务发现(注册)、负载均衡、断路器、服务网关和分布式配置。在几...
springcloud阿里巴巴五大组件?
SpringCloudAlibaba还有一些其他的组件选择,例如schedulerX、SMS、OSS等。但是由于其主要是阿里云的商业化产品就不再过多的进行介绍。集成其商业化产品时才能用到。SpringCloudAlibaba是基于SpringCloud标准由阿里巴巴实现的微服务全家桶,可插拔的方式实现组件的替换,在某些场景中我们需要的组件可以自由进行选择。...
实战系列(一)| Dubbo和Spring Cloud的区别,包含代码详解
Dubbo 和 Spring Cloud 分别是微服务架构中的高性能、轻量级 RPC 框架和基于 Spring Boot 的微服务开发工具,它们在服务治理、核心功能、代码示例和适用场景上有所不同。Dubbo 由阿里巴巴开源,核心功能包括服务注册与发现、服务路由、负载均衡和服务熔断,支持多种服务治理组件。Spring Cloud 则是基于 Spring...
阿里巴巴 29 个屌炸天的开源项目!
Spring Cloud Alibaba:一站式解决分布式应用服务开发,简化接入阿里分布式解决方案。Ant Design:企业级前端设计语言和React框架,提供金融级交互和组件化开发。Druid:高效数据库连接池,监控数据库性能和SQL日志。fastjson:高效JSON处理器,支持JavaBean快速解析和生成。Dubbo:Apache开源的高性能RPC框架,支持远...
Spring Cloud 和 Dubbo 区别和最佳实践
相比之下,Dubbo 是阿里巴巴开发的高效 RPC 框架,注重服务发现、流量管理、监控和安全性。其在企业级微服务中广泛应用,能够处理大规模服务请求,提供高性能和高可用性保障。在架构上,Spring Cloud 提供了完整的微服务组件,如配置管理、负载均衡和日志跟踪,简化了微服务应用程序的开发与维护。Dubbo 则围绕...
SpringCloud与Dubbo的区别
Dubbo则是阿里巴巴开源的RPC框架,更侧重服务的调用、流量管理和监控,适合灵活度更高的定制化需求。Dubbo更像是一个基础组件,用户可以选择不同的服务和组件来构建微服务,适合技术高手进行深度定制,但可能在稳定性上略逊一筹。在远程调用方面,SpringCloud的Feign基于HTTP协议,接口规范统一,易于开发,但...
springcloudalibaba现在银行用的多吗
阿里巴巴会用这个技术。SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。
Dubbo、SpringCloud和Kubernetes优缺点
其中Dubbo是阿里巴巴开源的,SpringCloud是netflix开源的,Kubernetes是谷歌开源的。它们都是分布式微服务框架平台的一套解决办法。值得一提的是,这3种产品其功能上是有重叠的,部分功能还可能是排他的,所以说不要相互之间进行混搭使用,架构保持一致性,维护起来也方便。微服务的最终目的是要实现业务逻辑,...
spring cloud和dubbo哪个会被淘汰?
1.springCloud提供了完成的分布式解决方案,基础解决方案以及组件比较健全,而且最近几年围绕springCloud边缘服务组件越来越多,例如:nacos。2.springCloud是基于springboot的,spring的使用部署太方便了。dubbo:1.dubbo更多解决的是服务间的调用,也就是服务通讯协议rpc,也会是dubbo没有完整的分布式解决方案...
Spring Cloud之Nacos
其中,Spring Cloud Alibaba是基于Spring Boot和Netflix服务框架的扩展,而Nacos作为阿里巴巴的开源项目,整合了注册中心和配置中心的功能,支持服务的自动注册与发现以及配置文件的集中管理和动态更新。Nacos的核心概念包括:注册中心作为服务提供者和调用者之间的桥梁,存储服务实例信息;配置中心则解决配置文件...