springcloud
文章平均质量分 80
诸般世界
这个作者很懒,什么都没留下…
展开
-
007 SpringCloud_Ribbon Retry重试策略详解(一)
Spring Cloud Ribbon Retry机制 当使用Spring Cloud Ribbon实现客户端负载均衡的时候,通常都会利用@LoadBalanced来让RestTemplate具备客户端负载功能,从而实现面向服务名的接口访问。•大多数情况下,上面的实现没有任何问题,但是总有一些意外发生,比如:有一个实例发生了故障而该情况还没有被服务治理机制及时的发现和摘除,这...原创 2019-07-29 10:45:54 · 1723 阅读 · 0 评论 -
014 Spring cloud Feign 代理
Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端。它使得编写Web服务客户端变得更加简单。我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定。它具备可插拔的注解支持,包括Feign注解、JAX-RS注解。它也支持可插拔的编码器和解码器。Spring Cloud Feign还扩展了对Spring MVC注解的支持,同...原创 2019-08-05 14:40:47 · 2749 阅读 · 0 评论 -
019 SpringCloud_Config配置中心详解
Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分,Spring Cloud Config是一个独立的server,工程过程中不需要eureka注册。•其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信...原创 2019-08-08 08:49:31 · 2532 阅读 · 0 评论 -
020 SpringCloud_Bus消息总线(一)kafka环境搭建
Spring Cloud Bus除了支持RabbitMQ的自动化配置之外,还支持现在被广泛应用的Kafka。在本文中,我们将搭建一个Kafka的本地环境,并通过它来尝试使用Spring Cloud Bus对Kafka的支持,实现消息总线的功能。 Kafka是一个由LinkedIn开发的分布式消息系统,它于2011年初开源,现在由著名的Apache基金会维护与开发。Ka...原创 2019-08-08 13:17:36 · 413 阅读 · 0 评论 -
021 SpringCloud_Bus消息总线(二)Bus整合kafka应用实例
应用springcloud-bus整合kafka进行配置变更的刷新,采用bus后,不在需要每个变更的服务节点自己手动刷新获取配置变更,通过bus刷新,然后发送给具体需要变更配置的服务节点;每个服务节点相当于消息的consumer(消费者),bus是消息的生产者;server与client中的pom引入kafak:<dependencies> &...原创 2019-08-08 14:38:20 · 273 阅读 · 0 评论 -
015 SpringCloud_Zuul网关(一)
使用Spring Cloud Netflix中的Eureka、Ribbon、Feign、Hystrix做了整个微服务的注册、服务发现、交互通信、高可用负载均衡、限流策略、服务降级等功能,保证了我们微服务的健壮性。但是我们是不是缺少了点什么,我们HTTP请求的安全性如何保障呢?可能我自己要对请求加上一些安全性的组件,但是这么做是否就很好呢? 首先,不破坏服务无状态特...原创 2019-08-06 12:41:32 · 285 阅读 · 0 评论 -
016 SpringCloud_Zuul网关(二) 实现统一用户登录中心
统一用户登录中心:•1 用户中心服务•2 缓存用户信息、认证Token 到 Redis•3 在Redis设置Session超时时间(15 min)•4 使用Zuul进行校验图解:具体功能容后实现简单模拟验证token:用到userservice与zuul-a:(具体内容请见上一篇015 SpringCloud_Zuul网关(一))userservice--...原创 2019-08-06 13:49:24 · 7022 阅读 · 4 评论 -
017 SpringCloud_Zuul网关(三)上传文件
上传文件:首先创建一个前端页面index.html,再src/main/resources下创建META/resources/文件夹,将页面放入;在servlet3.0后规范此目录向外暴露,所以可以直接访问;springboot同时支持其项目下statics文件夹对外暴露;index.html:<!DOCTYPE html><html><head&...原创 2019-08-06 20:14:50 · 3216 阅读 · 0 评论 -
022 SpringCloud_分布式链路跟踪
分布式调用系统的现状: 当前,随着互联网架构的扩张,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、消息收发、分布式数据库、分布式缓存、分布式对象存储、跨域调用,这些组件共同构成了繁杂的分布式网络。•当应用A发出某个请求时,其背后可能有数十个甚至更多的服务被调用,可谓是“牵一发而动全身”•业界非常知名的分布式链路跟踪服务:•阿里:鹰眼•大众点评...原创 2019-08-09 09:23:50 · 223 阅读 · 0 评论 -
006 SpringCloud-Ribbon机制实现负载均衡
负载均衡对于一个系统架构来说非常重要,是必须要有的一个基础设施,它能够有效的缓解网络压力和流量扩容。我们知道的负载均衡可能分为两种,一种是硬件的负载均衡,比如F5服务器或者SLB负载设施;另外一种是软件负载均衡设施,比如我们耳熟能详的Nginx反向代理负载均衡、Lvs(基于IP级别)负载均衡、Haproxy(TCP通讯层面)负载均衡等等。但是只要是负载均衡服务都是能以类似的架构方式...原创 2019-07-27 11:01:59 · 141 阅读 · 0 评论 -
012 SpringCloud_Hystrix断路器(四)semaphore信号量限流
•信号量的限流策略方式:使用java.util.concurrent.semophore1.生产者端:package com.cc.springcloud.api;import java.util.ArrayList;import java.util.List;import org.apache.commons.lang3.RandomUtils;import org.sp...原创 2019-08-05 10:01:56 · 1135 阅读 · 0 评论 -
011 SpringCloud_Hystrix断路器(三)高并发限流/限流组件
•由于断路器功能太过强大,这里仅仅举一个栗子说明:高并发限流系统/限流组件应用.•在断路器的配置限流策略中,execution.isolation.stragegy有两种方式进行处理:THREAD 通过现程池隔离的策略,它会独立在一个线程上执行,并且他的并发量受线程池中的数量所限制。SEMAPHONE 它则实现在调用的线程上,通过信号量的方式进行隔离,这种则是类似java中的限流了,受到信...原创 2019-07-31 14:38:38 · 706 阅读 · 0 评论 -
008 SpringCloud_Ribbon Retry重试策略详解(二)
springcloud ribbon集成retry:1.修改配置application.yml:spring: application: name: retry-service##类似@EnableRetry注释,此处代表启动springcloud ribbon retry cloud: loadbalancer: retry: ena...原创 2019-07-29 15:13:27 · 546 阅读 · 0 评论 -
009 SpringCloud_Hystrix断路器(一)
Spring cloud hystrix 断路器的产生 在微服务架构中,将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依...原创 2019-07-29 17:58:49 · 96 阅读 · 0 评论 -
010 SpringCloud_Hystrix断路器(二):服务超时设置与批量请求提交
•断路器功能非常强大,不仅仅只是这些属性和使用方式,还有非常牛掰的功能,深入学习断路器非常的必要。•比如还可以单独设置某个服务的http调用断路器超时时间等:使用commandKey与commandProperties属性相互结合使用,可以单独的控制特殊需求的实现。•再比如断路器执行的隔离策略,对应着并发量剧增的场景下使用限流的方式,比传统的限流策略、限流组件有天然的优势。•还有强大的...原创 2019-07-30 13:31:31 · 557 阅读 · 0 评论 -
001 SpringCloud-整体架构
•Cloud整体架构•Eureka注册中心 •集成Rest实现Ribbon负载均衡•Fegin 声明式服务调用•Hystrix 服务熔断及接口降级•Zuul网关整合Redis实现统一用户登录中心•Config 统一配置中心•Bus 消息总线分布式链路跟踪器ZipKinSpring Cloud:•Spring Cloud是一个相对比较新的微服务框架,2016...原创 2019-07-25 18:47:37 · 180 阅读 · 0 评论 -
002 SpringCloud-Eureka注册中心
•Spring Cloud Eureka 是 Spring Cloud Netflix微服务套件中的一个重要部分。他基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理与服务发现功能。•我们只需要简单的遵循Spring的配置文件配置即可完成微服务的服务治理和发现组件。•Eureka分为服务治理、服务发现。注意:springcloud是基础spingboot...原创 2019-07-26 09:08:33 · 97 阅读 · 0 评论 -
003 SpringCloud-provider服务的提供者
实现了服务发现注册中心,接下来需要把自己的应用服务注册到Spring Cloud Eureka 注册中心上。创建项目:spring-cloud-01-eureka-provider•1 对pom.xml进行配置<parent> <groupId>com.cc</groupId> <artifactId>spring-clo...原创 2019-07-26 09:55:18 · 155 阅读 · 0 评论 -
004 SpringCloud-consumer服务的消费者
1.创建消费者:配置pom<parent> <groupId>com.cc</groupId> <artifactId>spring-cloud-matser</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>...原创 2019-07-26 11:46:33 · 110 阅读 · 0 评论 -
005 SpringCloud-Eureka注册中心高可用机制与AP架构
Spring Cloud 高可用Eureka 服务注册中心:控制台里eureka有2个服务,此时高可用注册中心已经搭建完成,以后即使宕机一个Eureka,另外一个也可以进行服务。从架构中可以看到,两个EurekaServer之间采用Replicate(复制副本)的方式实现;1. 服务提供者:其可以将服务注册到EurekaServer,也可以将服务从EurekaServer下线,...原创 2019-07-26 13:14:08 · 764 阅读 · 0 评论 -
018 SpringCloud_Zuul网关(四)自定义熔断(springcloud-D版本后不再推荐)
Zuul内部整合了Hystrix组件,也就是说具有错误熔断的功能,那么如何自定义熔断后的输出结果呢?比如状态、响应码、响应报文等信息。•只需要自定义类实现ZuulFallbackProvider接口,重写下面的方法即可:•public String getRoute() 自定义需要熔断的服务•public ClientHttpResponse fallbackResp...原创 2019-08-07 10:21:39 · 702 阅读 · 0 评论