前言近期一直在忙项目,我也是打工仔。不多说,我们开始玩一玩seata。正文什么都不说,我们按照惯例,先上一个图(图里不规范的使用请忽略):简单一眼就看出来,比我们平时用的东西,多了SeataServer微服务。同样这个SeataServer微服务,也是需要注册到eureka上面去的。那么我们首先就搞一搞这个seataserver,那么剩下的就是一些原本的业务服务整合配置了。该篇用的seataserver版本,用的是1.4.1,可以去git下载...
继续阅读 >
分类:springcloud
2021
06-05
06-05
SpringCloud使用Zookeeper作为注册中心
服务注册引入相关依赖:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-pare...
继续阅读 >
2021
05-02
05-02
SpringCloud Feign的使用简介
简介feign是声明式的webservice客户端,它让微服务之间的调用变得更简单了,类似controller调用service。SpringCloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。在springcloud中不仅可以使用Ribbo进行负载均衡,也可以使用Feign。Feign是在Ribbon的基础上进行了一次改进,采用接口的方式实现负载均衡。使用导入依赖<dependency><groupId>org.springframework.cloud</groupId><artifac...
继续阅读 >
2021
05-02
05-02
SpringCloud入门实验环境搭建
微服务个人理解:所谓微服务是指每个模块都可以独立完成自己的核心业务,某一个模块的崩溃不影响其他模块的运行,每个微服务有自己单独的一个数据库每一个微小的服务组成了一个复杂的软件系统微服务架构微服务指的是服务的大小,关注的是完成一个具体的服务(医院的科室)微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。一种将一个单一应用程序开发为一组小型...
继续阅读 >
2021
05-02
05-02
SpringCloud Hystrix的使用
简介在分布式系统中,服务与服务之间依赖错综复杂,一种不可避免的情况就是某些服务将会出现失败。Hystrix是一个库,它提供了服务与服务之间的容错功能,主要体现在延迟容错和容错,从而做到控制分布式系统中的联动故障。Hystrix通过隔离服务的访问点,阻止联动故障,并提供故障的解决方案,从而提高了这个分布式系统的弹性。面对的问题:一个应用一般会依赖多个服务,每个服务由于网络不可靠,机房的不可靠等等不稳定的因素,总...
继续阅读 >
2021
05-02
05-02
SpringCloud Zuul的使用简介
简介Zuul是SpringCloud全家桶中的微服务API网关。所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序Zuul主要提供路由(请求转发)和过滤Zuul最终会注入Eureka提供:代理,过滤和路由三大功能使用导入依赖<!--zuul组件、zuul需要注册至eureka中--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zuul</artifactId>...
继续阅读 >
2021
04-27
04-27
详解SpringCloud Gateway 2020.0.2最新版
简述官网:https://spring.io/projects/spring-cloud-gatewayGitHub地址:https://github.com/spring-cloud/spring-cloud-gateway本文编写自2021年4月7日,当前SpringCloud最新版本为2020.0.2版本本文使用版本为SpringCloud版本2020.0.2spring-cloud-starter-gateway版本3.0.2spring-boot-starter版本2.4.4该项目提供了一个用于在SpringWebFlux之上构建API网关的库。SpringCloudGateway旨在提供一种简单而有效的方法来路由...
继续阅读 >
文件目录结构文件目录结构很重要,特别注意的是rule文件要放在主启动类上一级位置,才能够扫描。写pom<dependencies><!--springboot2.2.2--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--SpringcloudHoxton.SR1--><dependency><groupId>org.springframework.boot...
继续阅读 >
2021
04-07
04-07
SpringCloud Stream使用解析
SpringCloudStream官方定义SpringCloudStream是一个构建消息驱动微服务的框架。应用通过inputs和outputs来与SpringCloudStream中binder对象交互。通过我们配置来binding(绑定),而SpringCloudStream中的binder对象负责与消息中间件交互。所以,我们只需要搞清楚如何与SpringCloudStream交互就可以方便使用消息驱动的方式。通过使用SpringIntegration来连接消息代理中间件以及实现消息事件驱动。目前仅支持RabbitMQ和k...
继续阅读 >
2021
03-30
03-30
5分钟搭建SpringCloud Eureka服务注册中心的实现
创建父级项目只需保留pom.xml文件这里只需搭建一个微服务其他操作并无<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.tyy.springcloud</groupId>...
继续阅读 >
2021
03-24
03-24
SpringCloud 2020-Ribbon负载均衡服务调用的实现
1、概述官网:https://github.com/Netflix/ribbon/wiki/Getting-StartedRibbon目前也进入维护模式,未来替换方案:LB(负载均衡)集中式LB进程内LBRibbon就是负载均衡+RestTemplate调用2、Ribbon负载均衡演示1、架构说明总结:Ribbon其实就是一个软负载均衡的客户端组件,他可以和其他所需请求的客户端结合使用,和eureka结合只是其中的一个实例。2、3、二说RestTemplate的使用官网修改cloud-consumer-order80getForObject方法/get...
继续阅读 >
2021
03-23
03-23
SpringCloud Netflix Ribbon源码解析(推荐)
SpringCloudNetflixRibbon源码解析首先会介绍Ribbon相关的配置和实例的初始化过程,然后讲解Ribbon是如何与OpenFeign集成的,接着讲解负载均衡器LoadBalancerClient,最后依次讲解ILoadBalancer的实现和负载均衡策略Rule的实现。配置和实例初始化@RibbonClient注解可以声明Ribbon客户端,设置Ribbon客户端的名称和配置类,configuration属性可以指定@Configuration的配置类,进行Ribbon相关的配置。@RibbonClien...
继续阅读 >
已有的springcloud+mybatis项目升级为mybatis-plus项目模块目录将mybatis依赖替换为mybatis-plus修改配置文件实体类如果与数据库不同名需要加上@TableName@Data@TableName("project_base")publicclassProjectBase{@TableId(value="id",type=IdType.UUID)//id看具体项目要求如果是后台生成则不需要type属性,如果不是后台生成不管是自增还是唯一键还是填入都需type属性privateStringid;privateStringprjid;priva...
继续阅读 >
2021
03-11
03-11
详解SpringCloud的负载均衡
一.什么是负载均衡 负载均衡(Load-balanceLB),指的是将用户的请求平摊分配到各个服务器上,从而达到系统的高可用。常见的负载均衡软件有Nginx、lvs等。二.负载均衡的简单分类 1)集中式LB:集中式负载均衡指的是,在服务消费者(client)和服务提供者(provider)之间提供负载均衡设施,通过该设施把消费者(client)的请求通过某种策略转发给服务提供者(provider),常见的集中式负载均衡是Nginx; 2)进程式LB:将负...
继续阅读 >
2021
03-09
03-09
Spring Cloud分布式定时器之ShedLock的实现
在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么在SpringCloud中是如何实现的?今天来介绍下其中的一种解决方案——轻量级分布式定时锁ShedLockShedLockShedLock是一个在分布式环境中使用的定时任务框架,用于解决在分布式环境中的多个实例的相同定时任务在同一时间点重复执行的问题。解决思路是通过对公用的数据库中的某个表进行记录和加锁,使得同一时间点只有第一个执行定时任务并成功在数据库表中写入...
继续阅读 >
服务监控 除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(HystrixDashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求,多少成功,多少失败等等。Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控,SpringCloud也提供了HystrixDashboard的整合,对监控内容转化成可视化界面! 监控服务测试1.服...
继续阅读 >