
Spring Cloud
ypp91zr
善于分享,提升自我!
展开
-
微服务与微服务架构
最近在学习微服务,比较流行的就是阿里的Dubbo和Spring Cloud,不过目前使用Spring Cloud越来越多微服务: 强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用 从技术方面理解:微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事...原创 2019-03-05 01:37:28 · 311 阅读 · 0 评论 -
Spring Cloud Hystrix断路器
分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”.对于高流...原创 2019-03-07 22:16:05 · 342 阅读 · 0 评论 -
Spring Cloud Hystrix Dashboard服务监控
话不多说,拿起键盘干就完了。目前我已经有了3个服务端的提供实例 8001 8002 8003新建一个子模块,监控服务Hystrix Dashboard引入相关依赖:<!--hystrix和hystrix-dashboard相关--><dependency><groupId>org.springframewo...原创 2019-03-08 00:45:07 · 203 阅读 · 0 评论 -
Spring Cloud Zuul限流
在高并发场景下,往往离不开限流,有基于服务限流、全局限流等,常见的限流算法有漏桶算法和令牌通算法(前一篇文章有讲解)利用google的Guava框架进行限流,采用的是令牌桶算法,是对java的拓展类库。里面有换一个RateLimiter类RateLimiterFilter继承ZuulFilter,前置过滤器package com.chwl.cn.filter;import jav...原创 2019-05-19 18:06:54 · 303 阅读 · 0 评论 -
Description: The bean 'proxyRequestHelper', defined in class path resource [org/springframework/clo
配置zuul网关,启动springboot报错Description:The bean 'proxyRequestHelper', defined in class path resource [org/springframework/cloud/netflix/zuul/ZuulProxyAutoConfiguration$NoActuatorConfiguration.class],...原创 2019-05-16 00:01:35 · 657 阅读 · 0 评论 -
Spring Cloud Zuul ZuulProperties
zuul有默认的配置:ZuulProperties源码: * Copyright 2013-2017 the original author or authors.package org.springframework.cloud.netflix.zuul.filters;import com.netflix.hystrix.HystrixCommandProperties.Ex...原创 2019-05-16 00:13:58 · 2548 阅读 · 0 评论 -
Spring Cloud Zuul网关搭建详解
网关的英文名称:gateway,又叫做网间连接器、协议转换器。网关是在采用不同体系结构或协议的网络之间进行互通时,用于提供协议转换、路由选择、数据交换、日志埋点、负载均衡、容灾、鉴权、限流等网络兼容功能的设施。后台服务肯定不能暴露在外,而且都是内网,这里的网关就至关重要,为了防止单点故障,实现高可用。可以搭建多节点springboot2.1.1 springcloud Finchley...原创 2019-05-16 00:16:36 · 1547 阅读 · 0 评论 -
Spring Cloud eureka开启权限验证登录
spring boot版本2.0.3pom依赖:<!-- 开启密码访问 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId>...原创 2019-05-11 21:41:42 · 5357 阅读 · 0 评论 -
Spring Boot Zuul的鉴权
做一个简单的鉴权token鉴权,验证token一般在zuul网关层面进行验证鉴权等操作,除了鉴权,还可以限流、加密等。继承ZuulFilter,ZuulFilter源码: 实现于IZuulFilter * Copyright 2013 Netflix, Inc.package com.netflix.zuul;import com.netflix.config.Dyn...原创 2019-05-17 01:56:09 · 4992 阅读 · 0 评论 -
分布式事务之rabbitMQ最终一致性
一般的大型电商网站都会面临的问题:分布式事务,在面临分布式微服务等项目使用传统的单一事务已经无法满足,解决分布式事务的方案也比较多,有TCC事务补偿(基于2PC的实现)、2PC(两阶段提交)、3PC(三阶段提交)等,框架有JTA atomiks等。很多公司也有自己的分布式事务解决方案,比如最开始支付宝的XTS等像JTA atomiks等2PC的方案效率并不高,中间需要一个协调者,并且是同步的,...原创 2019-05-26 22:56:56 · 12477 阅读 · 6 评论 -
Spring Cloud Feign
官网地址:http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feignFeign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可拔插式的编码器和解码器。...原创 2019-03-07 19:34:41 · 134 阅读 · 0 评论 -
Spring Cloud Ribbon自定义负载均衡算法
上篇介绍了Ribbon的几种负载均衡算法,在实际工作中有可能会用自己定义的算法,根据自己的编写的算法来进行负载均衡Ribbon是客户端的负载均衡技术,即消费者微服务端的负载均衡启动项目查看Eureka Server:一个微服务有3个不同的实例先来针对一个服务使用不同的负载均衡策略。关键注解:@RibbonClient,此注解是放在启动类上上面截图@RibbonCl...原创 2019-03-07 18:01:06 · 1644 阅读 · 1 评论 -
什么是Spring Cloud
SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,...原创 2019-03-05 02:00:20 · 275 阅读 · 0 评论 -
创建Spring Cloud微服务
maven不再讲述,过多的理论知识不解释,拿起键盘就是干,这里只是开始,后续会将Spring Cloud一套的东西都加进来,当然不是一篇文章,一篇文章一个内容,代码都是接着的。创建一个父工程:pom.xml:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001...原创 2019-03-05 20:03:46 · 422 阅读 · 0 评论 -
Spring Cloud Eureka自我保护机制
Eureka的自我保护机制:首先来说下CAP理论,关于分布式的架构都会涉及到CAP理论,Eureka用的AP设计,即高可用以及分区容错性自我保护机制的工作机制是如果在15分钟内超过85%的客户端节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,Eureka Server自动进入自我保护机制1、没有心跳也就是当某时刻某一个微服务不可用,Eureka仍然不会清理这...原创 2019-03-05 23:56:17 · 189 阅读 · 0 评论 -
Spring Cloud Eureka服务注册与发现
Eureka是什么?Eureka是Netflix的一个子模块,也是核心模块之一。Eureka能干什么?Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了。功能类似于dubbo的注册中心,比如Zooke...原创 2019-03-06 00:24:19 · 1209 阅读 · 0 评论 -
Spring Cloud Eureka集群
上篇文章已经做了Eureka的服务注册和发现,接下来学习记录Eureka服务中心集群源码在上篇文章结尾有2001是用来做Eureka服务中心的,进群再新建2个子模块 2002 2003pom.xml都是一样的:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2...原创 2019-03-06 21:21:04 · 201 阅读 · 0 评论 -
Eureka和Zookeeper的区别
Eureka在之前已经操作配置过了,现在告一段落,现在来说说Eureka和Zookeeper的区别Spring Cloud在现在的版本其实也可以使用Zookeeper来进行服务注册的。那他们的区别在哪里呢?为什么要使用Eureka来进行服务注册呢?1、Zookeeper当master挂了,会在30-120s进行leader选举,这点类似于redis的哨兵机制,在选举期间Zookeepe...原创 2019-03-06 22:26:48 · 22316 阅读 · 5 评论 -
Spring Cloud Ribbon负载均衡
Ribbon其实就是平常使用的Nginx差不多的,还有LVS等。负载均衡的也有硬件,比如F5等,但是F5,一个字:贵,动辄就是几十万,一般的中小型公司承受不起,曾经的中国移动就是用的F5LB,即负载均衡(Load Balance),在微服务或分布式集群中经常用的一种应用。负载均衡有2种: 集中式LB:即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是...原创 2019-03-07 02:02:18 · 215 阅读 · 0 评论 -
Spring Cloud Ribbon核心组件之IRule负载均衡算法
IRule:负载均衡要使用的算法,有以下几种RoundRobinRule:Ribbon默认的算法,轮训RandomRule:随机AvailabilityFilteringRule:会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,还有并发的连接数量超过阈值的服务,然后对剩余的服务列表按照轮询策略进行访问WeightedResponseTimeRule:根据平均响应时间计算...原创 2019-03-07 03:17:19 · 707 阅读 · 0 评论 -
Spring Boot、Spring Session、redis实现分布式session共享
Spring Boot版本2.1.1 Spring Cloud版本Greenwich.RELEASE Redis3.2.100一主二从哨兵模式Spring Session深入详细原理不再本文范畴之内项目结构采用的maven子父级pom.xml:<dependency> <groupId>org.springframework.boot<...原创 2019-05-28 23:43:26 · 1048 阅读 · 0 评论