SpringCloud
胖头鱼小子
看世界,也找自己
展开
-
SpringCloud神兽(五)之Zuul
一. Zuul路由网关概述Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础.Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。注意:Zuul服务最终还是会注册进EurekaZuul能干嘛:代理、路由、过滤二. 路由基原创 2020-08-25 15:47:50 · 247 阅读 · 0 评论 -
SpringCloud神兽(四)之Hystrix
一. Hystrix断路器概述分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”.对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟原创 2020-08-23 15:42:46 · 180 阅读 · 0 评论 -
SpringCloud神兽(三)之Feign
一. Feign负载均衡(接口式编程)概述Feign是一个声明式的Web服务客户端,使得编写Web服务客户端变得非常容易,只需要创建一个接口,然后在上面添加注解即可。Feign能干什么Feign旨在使编写Java Http客户端变得更容易。前面在使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模版化的调用方法。但是在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装原创 2020-08-21 19:05:24 · 158 阅读 · 0 评论 -
SpringCloud神兽(二)之Ribbon
一. Ribbon概述Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使用Ri原创 2020-08-20 22:15:10 · 102 阅读 · 0 评论 -
Eureka对比Zookeeper,到底谁更优秀
一. 作为服务注册中心,Eureka比Zookeeper好在哪里著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性P在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。因此Zookeeper保证的是CP,Eureka则是AP。二. 详谈CAP理论1.一致性在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据任然处于一致的状态。原创 2020-08-19 19:45:23 · 526 阅读 · 0 评论 -
SpringCloud神兽(一)之Eureka
一. Eureka的基本架构Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper)。Netflix在设计Eureka时遵守的就是AP原则。CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务原创 2020-08-17 22:33:07 · 126 阅读 · 0 评论 -
SpringCloud入门概述
一. SpringCloud简介SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由网关、微代理、事件总线、全局锁、决策竞选、分布原创 2020-08-16 11:06:17 · 135 阅读 · 0 评论 -
微服务简介
一. 什么是微服务微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。二. 微服务和微服务架构**微服务:**强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面的一个个微服务工程/或者Module**微服务架构:**是一种架构模式,它提倡原创 2020-08-15 15:56:06 · 111 阅读 · 0 评论