Spring Cloud Alibaba
文章平均质量分 89
微服务框架 Spring Cloud Alibaba 快速入门攻略
Java架构何哥
从事政务信息化、大数据治理、智慧党建相关工作
展开
-
No primary or default constructor found for interface javax.servlet.http.HttpServletRequest
在我们使用spring-boot-starter-web依赖的时候,我们可以在controller的接口类的方法参数中使用HttpServletResponse或HttpServletRequest进行参数返回或获取,但是一旦修改为了spring-boot-starter-webflux依赖,那么就不能再方法参数中使用HttpServletResponse或HttpServletRequest了,否则会出现下面的错误。原创 2023-04-13 17:47:35 · 2943 阅读 · 0 评论 -
Spring Cloud Alibaba 快速入门(八):Sleuth+Zipkin实现微服务调用链路追踪
前言:微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。为了能够清晰地记录服务的调用链路,方便将来问题的定位,Spring cloud Sleuth组件正是为了解决微服务跟踪而生,产生微服务调用链日志,然后可以结合APM应用性能管理工具进行存储和Web界面展示,比如Skywalking,美团CAT,Pinpoint(当然也.原创 2021-08-30 15:20:47 · 1753 阅读 · 0 评论 -
Spring Cloud Alibaba 快速入门(七):Gateway微服务网关
前言:前面几篇文章我们已经学习了Spring Cloud Alibaba的Nacos注册和配置中心、Ribbon负载均衡、OpenFeign调用、Sentinel流量控制和熔断降级,以及Seata分布式事务。现在该轮到Spring Cloud Gateway 网关组件了。网关的作用是路由转发、权限校验、限流控制等作用。一、为什么使用API 网关我个人理解API 网关就是一个增强版业务nginx,它支持请求转发,负载均衡,统一埋点,限流降级、安全认证等等很多功能,Gateway网关收集所有请求根据路原创 2021-08-30 00:36:07 · 3395 阅读 · 4 评论 -
Spring Cloud Alibaba 快速入门(六):Spring Cloud 服务调用迁移为Dubbo
前言:Spring Cloud 默认的服务调用依赖 OpenFeign 或 RestTemplate 使用 REST 进行调用。Spring Cloud Alibaba Dubbo 只需使用 @DubboTransported 注解即可将底层的 Rest 协议无缝切换成 Dubbo RPC 协议,进行 RPC 调用。这一举措让 Spring Cloud 的客户端调用多了一个新的 RPC 选择,实现服务间多种协议的通讯。//RestTemplate方式@Bean@LoadBalanced@Dub.原创 2021-08-26 17:25:52 · 1284 阅读 · 0 评论 -
Spring Cloud Alibaba 快速入门(五):Seata分布式事务简介
1、Seata是什么Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。2、AT 模式前提 基于支持本地 ACID 事务的关系型数据库。 Java 应用,通过 JDBC 访问数据库。 整体机制两阶段提交协议的演变: 一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。 二阶段:原创 2021-08-25 00:13:02 · 654 阅读 · 0 评论 -
Spring Cloud Alibaba 快速入门(四):Sentinel接口限流和熔断降级
前言:随着微服务的流行,服务和服务之间的稳定性变得越来越重要。阿里开源的Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。它和Hystrix提供的功能一样,可以有效的解决微服务调用产生的“雪崩”效应,为微服务系统提供了稳定性的解决方案。随着Hytrxi进入了维护期,不再提供新功能,Sentinel是一个不错的替代方案。一、服务降级和服务熔断的区别一个分布式应用会依赖多个服务,每个服务可能会存在多个实例,服务依赖的中间件也可能是分布式的,当应用规模足.原创 2021-08-24 21:52:53 · 1307 阅读 · 2 评论 -
Spring Cloud Alibaba 快速入门(三):Nacos配置中心集成
一、为什么要使用Nacos配置中心?我们在采用集群部署时 , 如果配置文件需要改变 , 那么传统方法中我们需要将每一台服务器中 的配置文件进行修改 , 可维护性极差 , 修改强度太大。因此我们需要每一台服务器都去读取某一个配置文件 , 需要修改时也可以只是修改一个配置文件便可做到所有服务器同时修改。首先了解下SpringBoot中配置文件的执行顺序:下面就来学习使用Nacos的配置中心来实现配置文件的共用二、Nacos配置中心使用前面已经安装好Nacos了,并且已经注册了四个原创 2021-08-24 16:14:24 · 584 阅读 · 0 评论 -
Spring Cloud Alibaba 快速入门(二):OpenFegin和Dubbo服务通信
前言: 微服务会把一个大项目拆分成多个独立的小服务,这些小服务之间的调用采用的是Http Restful和RPC调用。一般来说,各大企业内部服务调用为了保证性能会采用PRC,而对外开放的API接口则会采用Restful风格。Spring Cloud提供了Ribbon+RestTemplate 的Rest方式,Ribbon是一个负载均衡的客户端;...原创 2021-08-24 01:39:42 · 7243 阅读 · 0 评论 -
Spring Cloud Alibaba 快速入门(一):Nacos服务注册与发现
前言:Nacos是Spring Cloud Alibaba 开源的服务中心和注册中心,可以实现微服务的动态服务注册和服务发现,还有配置管理。一句话概括就是Nacos = Spring Cloud Eureka注册中心 + Spring Cloud Config配置中心。Spring Cloud Alibaba 对服务注册和配置中心功能都整合进 Nacos,有图形化界面,简化了微服务架构的复杂度。一、Nacos简介Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性.原创 2021-08-23 15:52:36 · 1750 阅读 · 0 评论 -
微服务学习5:Spring Cloud Alibaba项目快速搭建
简介:快速搭建简单的Spring Cloud Alibaba基础工程,并实现微服务之间的简单调用。1、电商系统模拟情形用户要下单购买某件商品,先请求order订单微服务,order微服务去product微服务查询商品信息,并生成订单。(商品总得有库存,这里库存就暂时跟商品放一起,什么仓储物流先别管,就当作是虚拟商品好了)下单流程图:2、新建一个空的 Maven父工程2.1> new Project ->Maven ->输入项目名 -> finsh -&g.原创 2021-08-23 00:29:34 · 2681 阅读 · 2 评论 -
微服务学习4:深入了解服务注册与发现
前言:本篇博客试图用简单清晰的逻辑来介绍什么是服务注册与服务发现,以及为什么要用这个东西,这个东西好在哪里?最后对比了业界的服务注册中心常用方案Eureka、ZooKeeper、Consul 、Nacos。建议直接上手Spring Cloud Alibaba的Nacos。本文转自腾讯技术工程的官方账号文章,作者:smallyang,腾讯 IEG 运营开发工程师:深入了解服务注册与发现1. 什么是服务注册与发现我们先来看下什么是服务注册与服务发现?服务注册,就是将提供某个服务的模块信息(通转载 2021-06-17 19:27:09 · 1628 阅读 · 1 评论 -
微服务学习3:Spring Cloud Alibaba大战Spring Cloud Netflix
前言:从2014年开始,得益于以Docker为代表的容器化技术的成熟以及DevOps文化的兴起,服务化的思想进一步演化,演变为今天我们所熟知的微服务。微服务可谓是这几年比较热门的技术,从2017开始逐渐爆火,逐渐大大小小的公司纷纷将微服务技术引入并在实际业务中落地。一、微服务简介微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作出现故障时不会相互影响。微服务的概念最早是在2原创 2021-06-11 17:17:59 · 4532 阅读 · 7 评论 -
微服务学习2:Dubbo 和 Spring Cloud 技术选型
前言:Spring Cloud抛弃了传统的RPC通信,采用了基于HTTP的REST方式,使得微服务接口更为灵活,服务提供者和消费者之间的依赖只需要一纸契约即可,而不存在代码级别的强依赖,这对快速演化的微服务架构更合适。前几年比较火的是阿里的Dubbo,后来一度停止维护,最近两年又起死回生,重新焕发生机。后来又出现了Spring体系下的微服务方案Spring Cloud,并迅速流行起来。个人推荐Spring Cloud,毕竟Spring生态圈很强大,当然Spring Cloud Alibaba的服务间通信也可原创 2021-06-15 16:35:44 · 1000 阅读 · 0 评论 -
微服务学习1:分布式系统的经典基础理论
概要:分布式系统设计理念、CAP定理、BASE理论一、分布式系统设计理念1.1 分布式系统的目标与要素分布式系统的目标是提升系统的整体性能和吞吐量,另外还要尽量保证分布式系统的容错性。即使采用了分布式系统,我们也要尽力运用并发编程、高性能网络框架等等手段提升单机上的程序性能。1.2 分布式系统设计两大思路:中心化和去中心化1)中心化设计两个角色:中心化的设计思想很简单,分布式集群中的节点机器按照角色分工,大体上氛围两种角色:“领导”和“干活的”角色职...原创 2021-06-11 14:54:10 · 608 阅读 · 0 评论 -
服务端架构演进:从单体架构到微服务
前言:Java Web开发架构的演进之路或者说数据请求模型进化史,从Web1.0时期的传统单体架构,到Web2.0时期基于单体架构的集群架构,再到如今分布式的微服务架构时代。1、单体架构 Web 1.0应用程序发展的早期,大部分web工程师将所有的功能模块打包到一起并放在一个web容器中运行,所有功能模块使用同一个数据库,同时,它还提供API或者UI访问的web模块等。各个客户端请求server服务器,所有的业务逻辑都是在这个server端内完成,这是常见的网络请求模型架构,对于小型的服务而已,这原创 2021-06-11 14:02:31 · 1342 阅读 · 1 评论