spring cloud
文章平均质量分 85
RB_VER
这个作者很懒,什么都没留下…
展开
-
seata处理分布式事务
Simple Extensible Autonomous Transaction Architecture 简单可扩展自治事务框架seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。相关概念:Transaction ID XID:全局唯一的事务ID。Transaction Coordinator(TC):事务协调器,维护全局和分支事务的状态,驱动全局事务提交或回滚。...原创 2022-08-07 17:44:10 · 457 阅读 · 0 评论 -
sentinel熔断与限流
}}}原创 2022-07-18 11:24:28 · 1659 阅读 · 0 评论 -
Nacos服务注册和配置中心
Nacos(NAming COnfiguration Service)是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos就是注册中心+配置中心的组合。Nacos=Eureka+Config+Bus运行nacos:创建cloudalibaba-provider-payment9001模块pom.xmlapplication.ymlPaymentControllerPaymentMain9001同上,创建cloudalibaba-provider-payment9002模块原创 2022-07-12 15:46:15 · 542 阅读 · 0 评论 -
sleuth分布式请求链路跟踪
在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高时延或错误都会引起整个请求最后的失败。spring cloud sleuth提供了一套完整的服务跟踪的解决方案,并且兼容支持zipkin。下载zipkin-server-2.12.9-exec.jar运行运行控制台:下图表示一条请求链路,一条链路通过trace id唯一标识,span标识发起的请求信息,各span通过trace原创 2022-07-10 11:02:43 · 157 阅读 · 0 评论 -
stream消息驱动
stream屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。官方定义spring cloud stream是一个构建消息驱动微服务的框架。应用程序通过inputs或者outputs来与spring cloud stream中binder对象交互。通过配置来binding,而spring cloud stream的binder对象负责与消息中间件交互。通过使用spring integration来连接消息代理中间件以实现消息事件驱动。spring cloud stream为一些供应商的消息中间件产原创 2022-07-07 16:31:28 · 288 阅读 · 0 评论 -
Bus消息总线
Spring Cloud Bus配合spring cloud config使用可以实现配置的动态刷新。spring cloud bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架。它整合了Java的事件处理机制和消息中间件的功能。Bus支持两种消息代理:RabbitMQ和Kafka。spring cloud bus能管理和传播分布式系统间的消息,就像一个分布式执行器,可用于广播状态更改,事件推送等,也可以当作微服务间的通信通道。总线:在微服务架构的系统中,通常会使用轻量级的消息代理来构建一原创 2022-07-06 16:41:44 · 524 阅读 · 0 评论 -
Config分布式配置中心
微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。spring cloud config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。spring cloud config分为服务端和客户端两部分。服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置原创 2022-07-06 08:33:13 · 75 阅读 · 0 评论 -
Gateway服务网关
spring cloud全家桶有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关,在2.x版本中,zuul的升级一直跳票,spring cloud最后自己研发了一个网关替代zuul,那就是spring cloud gateway。spring cloud gateway是spring cloud的一个全新项目,基于spring 5.0+spring boot 2.0和project reactor等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。spring clo原创 2022-06-30 17:08:02 · 478 阅读 · 0 评论 -
Hystrix断路器
复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列原创 2022-06-29 10:04:43 · 358 阅读 · 0 评论 -
OpenFeign服务接口调用
Feign是一个声明式WebService客户端。使用Feign能让编写WebService客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可插拔式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。一句话总结:Feign是一个声明式的Web服务客户端,让编写web服务客户端变得非常容易,只需创建一个接口并在接口原创 2022-06-27 10:19:01 · 728 阅读 · 0 评论 -
Ribbon负载均衡服务调用
spring cloud ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单地说,ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。ribbon客户端组件提供一系列完善的配置项如连接超时、重试等。简单地说,就是在配置文件中列出load balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。负载均衡就是将用户的请求原创 2022-06-25 09:03:43 · 131 阅读 · 0 评论 -
Consul服务注册与发现
Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。它具有很多优点,包括:基于raft协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议;支持跨数据中心的WAN集群;提供图形界面;跨平台。支持Linux、Mac、Windows。官网下载,文件中只有consul.exe文件,在原创 2022-06-23 10:51:22 · 672 阅读 · 0 评论 -
spring cloud整合zookeeper
在Eureka基础上进行构建。pom.xmlapplication.ymlPaymentMain8004PaymentController启动zookeeperpom.xmlapplication.ymlOrderZKMain80ApplicationContextConfigOrderZKController原创 2022-06-22 16:34:16 · 497 阅读 · 0 评论 -
Eureka
在支付-订单案例构建基础上构建如下工程服务治理spring cloud封装了Netflix公司开发的Eureka模块来实现服务治理。在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。服务注册与发现Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用Eureka的客户端连接到Eureka S原创 2022-06-22 15:25:25 · 85 阅读 · 0 评论 -
支付-订单案例构建
maven使用dependencyManagement元素来提供了一种管理依赖版本号的方式。通常会在项目最顶层的父POM中看到dependencyManagement元素。使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显式的列出版本号。maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用这个dependencyManagement元素中指定的版本号。这样做的好处是,如果多个子项目都引用同一样原创 2022-06-21 10:15:40 · 88 阅读 · 0 评论 -
微服务架构概述
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、相互配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务之间采用轻量级的通信机制相互协作(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。Spring Cloud=分布式微服务架构的一站式解决方案,是多种微服务原创 2022-06-20 08:46:23 · 282 阅读 · 0 评论 -
服务雪崩、熔断和降级
本文转载【原创】谈谈服务雪崩、降级与熔断作者:孤独烟 出处: http://rjzheng.cnblogs.com/引言OK,我要先说明一下,我有很长一段时间将服务降级和服务熔断混在一起,认为是一回事!为什么我会有这样的误解呢?针对下面的情形,如图所示当Service A调用Service B,失败多次达到一定阀值,Service A不会再去调Service B,而会去执行本地的降级方法!对于这么一套机制:在Spring cloud中结合Hystrix,将其称为熔断降级!所以我当时就以为是转载 2020-09-10 14:54:44 · 402 阅读 · 0 评论 -
【微服务】整合spring cloud eureka
spring cloudspring cloud是一个分布式的整体解决方案。spring cloud为开发者提供了在分布式系统(配置管理、服务发现、熔断、路由、微代理、控制总线、一次性token、全局锁、leader选举、分布式session、集群状态)中快速构建的工具,使用spring cloud的开发者可以快速的启动服务或构建应用,同时能够快速和云平台资源进行对接。spring cloud分布式开发五大常用组件:服务发现——Netflix Eureka客户端负载均衡——Netflix Ribb原创 2020-07-01 17:14:48 · 120 阅读 · 0 评论 -
【微服务】整合spring cloud config
技术架构:首先在GitHub新建一个仓库用来存放配置文件:编写config serverpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac原创 2020-09-09 15:09:48 · 135 阅读 · 0 评论 -
【微服务】整合spring cloud hystrix
首先需要按这两篇文章【微服务】整合spring cloud eureka【微服务】整合spring cloud config配置eureka server和config server,还有一个服务提供者。由于我们只需在服务消费者中验证断路器模式,这里只放上consumer项目和hystrix dashboard项目代码:user-service-consumerpom.xml<?xml version="1.0" encoding="UTF-8"?><project xml原创 2020-09-10 10:53:10 · 118 阅读 · 0 评论