Spring Cloud
Spring Cloud
小幸运安然
这个作者很懒,什么都没留下…
展开
-
十一、Sleuth分布式请求链路追踪
一、概述1、微服务现状随着业务的发展,单体架构变为微服务架构,并且系统规模也变得越来越大,各微服务间的调用关系也变得越来越复杂。多服务协同工作,在微服务的应用中,一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果。在复杂的微服务架构系统中,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟超时或者错误都有可能引起整个请求最后的失败。例如:在微服务系统中,一个来自用户的请求,请求先达到前端A(如前端界面)然后通过远程调用,到达原创 2020-11-11 08:50:22 · 630 阅读 · 2 评论 -
十、Stream消息驱动
一、消息驱动概述1、概述Spring Cloud Stream用于构建与共享消息传递系统连接的高度可扩展的事件驱动型微服务。该框架提供了一个灵活的编程模型,该模型建立在已经建立并熟悉的Spring习惯用法和最佳实践的基础上,包括对持久性发布 / 订阅,消费组以及消息分区这三个核心概念。应用程序通过inputs或者outputs来与Spring Cloud Stream中binder对象交互,通过我们配置来binding(绑定),而Spring Cloud Stream的binder对象负责与消息中间原创 2020-11-11 08:44:52 · 207 阅读 · 0 评论 -
九、Bus消息总线
一、概述1、config配置中遗留的问题如果存在多微服务客户端,那么每一次修改配置的内容,就需要手动对每一个服务执行一次POST请求刷新配置,很繁琐。因此可以利用消息广播,一次通知,处处生效。Spring Cloud Bus配合Spring Cloud Config使用可以实现配置的动态刷新。2、什么是总线在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都能连接上来。由于该主题中产生的消息会被所有实例监听和消费,所以称它为消息总线。在总线上的各原创 2020-11-09 11:05:59 · 1254 阅读 · 0 评论 -
八、分布式配置中心Config
一、概述1、分布式系统面临的问题1、微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以需要一套集中式的、动态的配置管理设施是必不可少的。2、是什么SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。3、怎么操作SpringCloud Config分为服务端和客户端两部分。服务端也原创 2020-11-06 17:09:40 · 792 阅读 · 0 评论 -
七、Gateway新一代网关
前言SpringCloud之Zuul路由网关参考地址一、概述1、是什么SpringCloud GateWay 是 SpringCloud 的一个全新项目,基于 Spring5.0 + SpringBoot2.0 和 Project Reactor 等技术开发的网关,旨在为微服务架构提供一种简单有效的统一的API路由的管理方式。SpringCloud GateWay 作为SpringCloud 生态系统中的网关,目的是替代Zuul,在 SpringCloud 2.0 以上版本中,没有对新版本的原创 2020-11-05 13:42:01 · 347 阅读 · 0 评论 -
三、Consul服务注册与发现
前言Eureka服务与注册详情一、简介1、Consul概述Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。Consul 提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之 Consul 提供了一种完整的服务网格解决方案。它具有很多优点,包括:基于 raft 协议,比较简洁;支持健康检查,同时支持 HTTP 和 DNS协议、支持跨数据中心的 WAN原创 2020-10-29 23:24:13 · 702 阅读 · 2 评论 -
SpringCloud之Zuul路由网关
一、概述1、什么是路由 Zuul 是 Netflix OSS 中的一员,是一个基于 JVM 路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。Zuul 能够与 Eureka、Ribbon、Hystrix 等组件配合使用。2、官方解释Zuul is the front door for all requests from devices and web sites to the backend of the Netflix streaming application. As原创 2020-05-26 15:59:39 · 238 阅读 · 0 评论 -
六、Hystrix断路器
一、概述1、Hystrix是什么 Hystrix是一个用于处理分布式系统的 延迟 和 容错 的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下, 不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。 ”断路器“本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常, 这原创 2020-05-26 15:57:28 · 273 阅读 · 0 评论 -
五、Feign负载均衡
一、概述1、概述 Feign是一个声明式的Web服务客户端,使得编写Web服务客户端变得非常容易,只需要创建一个接口,然后在上面添加注解即可。2、Feign作用Feign旨在使编写Java Http客户端变得更容易。面在使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模版化的调用方法。但是在实际开发中,由于对服务依赖的调用可能不止一处, 往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务的原创 2020-05-26 15:55:31 · 459 阅读 · 0 评论 -
四、Ribbon负载均衡
一、概述1、Ribbon概述Ribbon 是基于 Netflix Ribbon 实现的一套客户端负载均衡的工具 。简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一起。Ribbon 客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出 Load Balancer(简称LB)后面所有的机器,Ribbon 会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使原创 2020-05-26 15:49:02 · 247 阅读 · 0 评论 -
二、Eureka服务注册与发现
一、概述1、Eureka概述Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件。Eureka 采用了 C-S 的设计架构。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。SpringCloud 的一些其他模块(比如Zuul)就可以通过 Eureka Server 来发现系统中的其他微服务,并执行相关的逻辑。2、CAP原创 2020-05-26 15:27:56 · 534 阅读 · 0 评论 -
一、SpringCloud入门
一、微服务1、微服务介绍微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。2、微服务和微服务架构微服务: 强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题或提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面的一个个微服务工程或者Module微服务架构: 是⼀种架构模式,它提倡将单⼀应⽤原创 2020-05-26 15:15:11 · 284 阅读 · 0 评论