Spring Cloud
Trazen
java架构,运维
展开
-
Spring Cloud OAuth2(基于JWT)的微服务认证授权实战
文章目录1.简介1.1解决方案1.2案例工程架构2.构建auth-server工程2.1添加maven依赖2.2创建数据表2.3 添加配置2.4 自定义UserDetailsService2.5 认证授权配置2.6 扩展token增强器TokenEnhancer2.7 认证授权服务器配置2.8 认证授权服务器测试3.构建auth-client工程3.1 添加maven依赖3.2 重写token解析器3.3 解决Feign接口调用Token传递问题3.4 资源服务器配置4.构建资源服务器应用user-serv原创 2020-07-21 17:11:27 · 1307 阅读 · 0 评论 -
Spring Security Oauth2实战
文章目录1.OAuth2简介2.OAuth2的四大角色3.OAuth2 授权流程3.1 授权码模式(authorization code)3.2 简化模式(Implicit Grant)3.3 密码模式(Resource Owner Password Credentials Grant)3.4 客户端模式(Client Credentials Grant)4.搭建演示工程4.1 添加依赖4.2 授权服务器配置4.3 资源服务器配置4.4 Security配置4.5 增加测试接口5.测试6.扩展篇6.1 To原创 2020-07-10 17:43:16 · 1751 阅读 · 0 评论 -
SpringCloud组件之网关Zuul(Hoxton版本)
1.Zuul简介API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关服务。API网关的定义类似于设计模式中的门面模式,它相当于整个微服务架构中的门面,所有客户端的访问都通过它来进行路由及过滤。它实现了请求路由、负载均衡、校验过滤、服务容错、服务聚合等功能。2.创建Spring Cloud Zuul工程2.1在pom中添加相关依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://ma原创 2020-07-07 18:00:57 · 1524 阅读 · 0 评论 -
Spring Cloud Gateway高级特性之过滤器(Hoxton版本)
1.高级特性—过滤器(Filter)路由过滤器可用于修改进入的HTTP请求和返回的HTTP响应,路由过滤器只能指定路由进行使用。Spring Cloud Gateway 内置了多种路由过滤器,他们都由GatewayFilter的工厂类来产生,下面将对各个过滤器进行一一说明Spring Cloud Gateway 内置的过滤器工厂一览表如下:1.1 AddRequestHeader GatewayFilter通过配置name和value可以增加请求的header。spring: cloud原创 2020-07-04 13:19:35 · 6499 阅读 · 2 评论 -
Spring Cloud Gateway高级特性之断言(Hoxton版本)
1.高级特性—断言(Predicate)Spring Cloud Gateway将路由匹配作为Spring WebFlux HandlerMapping基础架构的一部分。 Spring Cloud Gateway包括许多内置的Route Predicate工厂。 所有这些Predicate都与HTTP请求的不同属性匹配。 多个Route Predicate工厂可以进行组合。 Spring Cloud Gateway内置了许多Predict,这些Predict的源码在org.springframewor原创 2020-07-04 13:18:40 · 1271 阅读 · 0 评论 -
SpringCloud组件之网关Spring Cloud Gateway(Hoxton版本)
1.Spring Cloud Gateway简介Spring Cloud Gateway 为 SpringBoot 应用提供了API网关支持,具有强大的智能路由与过滤器功能,本文将对其用法进行详细介绍。 Spring Cloud Gateway是SpringCloud新推出的网关框架,比较于上一代Zuul,功能和性能有很大的提升。Zuul1.x采用的是阻塞多线程方式,也就是一个线程处理一个连接请求,高并发情况下性能较差,即使是Zuul2.x虽然做到了非阻塞,但是面对连续跳票,看起来Zuul要被抛弃了原创 2020-07-04 13:12:46 · 6441 阅读 · 0 评论 -
SpringCloud组件之服务链路追踪Sleuth(Hoxton版本)
1.Spring Cloud Sleuth简介Add sleuth to the classpath of a Spring Boot application (see below for Maven and Gradle examples), and you will see the correlation data being collected in logs, as long as you are logging requests. —— 摘自官网Spring Cloud Sleuth原创 2020-06-30 09:57:21 · 550 阅读 · 0 评论 -
SpringCloud组件之消息总线Bus(Hoxton版本)
1.Spring Cloud Bus简介Spring Cloud Bus 是 Spring Cloud 体系内的消息总线,用来连接分布式系统的所有节点。 Spring Cloud Bus 将分布式的节点用轻量的消息代理(RibbitMQ、Kafka)连接起来。可以通过消息代理广播配置文件的更改,或服务之间的通讯,也可以用于监控。解决了微服务数据变更,及时同步的问题。 目前 Spring Cloud Bus 支持两种消息代理:RabbitMQ 和 Kafka,下面以 RabbitMQ 为例来演示下使...原创 2020-06-30 09:55:56 · 1168 阅读 · 3 评论 -
SpringCloud组件之配置中心Config(Hoxton版本)
1.Config简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取原创 2020-06-30 09:53:23 · 1346 阅读 · 0 评论 -
SpringCloud组件之断路器Hystrix(hoxton版本)
1.Hystrix 简介在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就原创 2020-06-30 09:49:00 · 1931 阅读 · 1 评论 -
SpringCloud组件之Feign(Hoxton版本)
1.Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。 简而言之:Feign 采用的是基于接口的注解; Feign 整合了ribbon,具有负载均衡的能力; 整合了Hystrix,具有熔断的能力.2.创建Feign调用演示工程原创 2020-06-30 09:44:42 · 2060 阅读 · 0 评论 -
SpringCloud组件之注册中心Eureka(Hoxton版本)
1.Eureka简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。 Eureka包含两个组件:Eureka Server和Eureka Client。1.1 Eureka Server Eureka Server提供服务注册服务,各个节点启动后,会在Eur原创 2020-06-30 09:34:08 · 481 阅读 · 0 评论