随笔分类 - SpringCoud入门
摘要:一、RPC 1. RPC是什么 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型
阅读全文
摘要:在整体应用架构中,非生产环境情况下,一般 1GB 或者 2GB 的 RAM 就足够了。如果我们将这个应用程序划分为 20 或 30 个独立的微服务,那么很难期望 RAM 仍将保持在 1GB 或 2GB 左右。特别是如果我们使用 Spring Cloud 的时候。 首先,准备三个服务,Eureka 服
阅读全文
摘要:前言 上篇文章我讲过复杂的限流场景可以通过扩展RedisRateLimiter来实现自己的限流策略。 假设你领导给你安排了一个任务,具体需求如下: 针对具体的接口做限流 不同接口限流的力度可以不同 可以动态调整限流配置,实时生效 如果你接到上面的任务,你会怎么去设计+实现呢? 每个人看待问题的角度不
阅读全文
摘要:系统在生产环境出现问题时,排查问题最好的方式就是查看日志了,日志的记录尽量详细,这样你才能快速定位问题。 如果需要在Zuul中进行详细的日志记录,这两种日志必不可少。 API请求信息 API响应信息 前面有介绍过如何获取请求信息,文章请查看《Spring Cloud Zuul过滤器获取请求参数问题》
阅读全文
摘要:前言 重试,我相信大家并不陌生。在我们调用Http接口的时候,总会因为某种原因调用失败,这个时候我们可以通过重试的方式,来重新请求接口。 生活中这样的事例很多,比如打电话,对方正在通话中啊,信号不好啊等等原因,你总会打不通,当你第一次没打通之后,你会打第二次,第三次...第四次就通了。 重试也要注意
阅读全文
摘要:在使用Spring Boot Admin进行监控时,如果被监控的服务没有加context-path的话是不会有任何问题的,一旦服务加了context-path的配置,监控就会失败。 下图是正常情况的显示: 我们给被监控的服务增加一个context-path: server.servlet.conte
阅读全文
摘要:Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求。 网关都是给接口做代理转发的,后端对应的都是REST API,返回数据格式都是JSON。如果不做处理,当发生异常时,
阅读全文
摘要:全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证,IP访问限制等等。 接口定义类:org.springframework.cloud.gateway.filter.GlobalFilter public interface GlobalFilter
阅读全文
摘要:本章节使用spring-security-custom-login 1|0一、工程准备 1|11、pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xml
阅读全文
摘要:上一篇我们简单的分析了一下认证流程,通过程序的启动加载了各类的配置信息。接下来我们一起来看一下授权流程,争取完成和前面简单的web基于sessin的认证方式一致。由于在授权过程中,我们预先会给用于设置角色,关于如果加载配置的角色信息这里就不做介绍了,上一篇的加载过程中我们可以发现相关的信息。 本篇依
阅读全文
摘要:上面我们一起开始了Spring Security的初体验,并通过简单的配置甚至零配置就可以完成一个简单的认证流程。可能我们都有很大的疑惑,这中间到底发生了什么,为什么简单的配置就可以完成一个认证流程啊,可我啥都没看见,没有写页面,没有写接口。这一篇我们将深入到源码层面一起来了解一下spring se
阅读全文
摘要:本篇将开始Spring Security的学习,将从最简单的搭建工程到自定义配置改造的方式完成一系列的教程。所有的代码将集中在一个工程中,通过不同的module的方式区分每一个篇章,重点突出每个module的特点,关注一个方面的功能或者配置 1|0什么是Spring Security 上面介绍的:
阅读全文
摘要:这一篇将通过一个简单的web项目实现基于Session的认证授权方式,也是以往传统项目的做法。先来复习一下流程 用户认证通过以后,在服务端生成用户相关的数据保存在当前会话(Session)中,发给客户端的数据将通过session_id存放在cookie中。在后续的请求操作中,客户端将带上sessio
阅读全文
摘要:在互联网中我们一致都有提到或接触到关于认证和授权概念或名字,那到底什么是认证?什么是授权?他们两又有什么联系和区别呢?本系列将记录自己近一段时间学习和实践的过程,以便加深理解过程。 我们先来一起认识两个单词authentication和 authorization,有没有发现什么特点,我第一次接触到
阅读全文
摘要:上一篇我们简单的分析了一下认证流程,通过程序的启动加载了各类的配置信息。接下来我们一起来看一下授权流程,争取完成和前面简单的web基于sessin的认证方式一致。由于在授权过程中,我们预先会给用于设置角色,关于如果加载配置的角色信息这里就不做介绍了,上一篇的加载过程中我们可以发现相关的信息。 本篇依
阅读全文
摘要:Ribbon 是一个基于 HTTP 和 TCP 的 客服端负载均衡工具,它是基于 Netflix Ribbon 实现的。 它不像 Spring Cloud 服务注册中心、配置中心、API 网关那样独立部署,但是它几乎存在于每个 Spring Cloud 微服务中。包括 Feign 提供的声明式服务调
阅读全文
摘要:本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Feign 声明式服务调用(一) 本篇文章讲解 Feign 性能优化的问题,Gzip压缩、HTTP连接池、请求超时等。 1|0Feign 性能优化 1|1Gzip 压缩 gzip 介绍:gzip 是一种数据格式,采用
阅读全文
摘要:Feign 是 Spring Cloud Netflix 组件中的一个轻量级 RESTful 的 HTTP 服务客户端,实现了负载均衡和 Rest 调用的开源框架,封装了 Ribbon 和 RestTemplate,实现了 WebService 的面向接口编程,进一步降低了项目的耦合度。 Feign
阅读全文
摘要:服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串、路由信息等。服务注册中心是微服务架构中最基础的设施之一。 在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中。比如 Dubbo 是一个在国内比较流行的分布式框架,被大量的中小
阅读全文
摘要:本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Netflix Eureka 注册中心(一) 本篇文章讲解 Eureka 集群、架构原理、自我保护、优雅停服、安全认证等功能实现。 1|0高可用 Eureka 注册中心 点击链接观看:高可用 Eureka 注册中心视频
阅读全文