从头开始学SpringCloud
文章平均质量分 72
本专栏系统地梳理了SpringCloud的各个核心知识点,并对其进行讲解和演示。
lwen.steven
学好Java,为公司“添砖加瓦”!
展开
-
10.微服务安全
1.JWT(1).简介JWT(Json Web Token)是一个加密的字符串,主要用于身份认证和数据加密。(2).组成JWT包含三个部分,Header.Payload.Signature,以" . "来进行分割。- Header:主要存储关于签名算法的信息,通常包含Token类型和采用的加密算法,如将{"typ": "JWT","alg": "HS256"} 使用Base64Url编码加密为“eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9”。原创 2023-01-11 00:34:20 · 141 阅读 · 0 评论 -
9.Hystrix实践篇
1.业务降级(在film服务工程中修改)(1).引入依赖```pom org.springframework.cloud spring-cloud-starter-netflix-hystrix```(2).controller层开发在FilmController类中新增获取电影列表降级方法findFilmListFallback,并在findFil原创 2023-01-11 00:33:49 · 363 阅读 · 0 评论 -
8.Hystrix理论篇
1.简介(1).作用Hystrix是SpringCloud集成的容错组件,主要用于避免级联故障,提高系统可用性。Hystrix提供的功能主要包括,服务熔断、服务限流、服务降级和服务监控。(2).服务熔断当服务A调用的服务B不可用时,服务A为了保证自己业务不受影响,从而不再调用服务B,直接返回一个结果,直到服务B可用。(3).服务限流在高并发请求下,为了保护系统,可以对访问服务的请求进行数量上的限制。(4).服务降级当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务有策略地不原创 2023-01-11 00:33:21 · 111 阅读 · 0 评论 -
7.Zuul
1.简介(1).请求转发Zuul是SpringCloud集成的微服务网关,可以完成请求转发和过滤的功能,请求转发示意图如下所示。(2).过滤器过滤器是Zuul的核心组件,Zuul大部分功能都是通过过滤器实现的。Zuul中定义了4种标准过滤器类型,这些过滤器对应于请求的典型生命周期。Zuul请求的生命周期如图所示,该图详细描述了各种类型过滤器的执行顺序。原创 2023-01-11 00:33:12 · 84 阅读 · 0 评论 -
6.Ribbon
1.简介Ribbon是SpringClolud集成的客户端负载均衡器,核心功能有服务发现、服务监听和服务选择规则。Ribbon通过整合Eureka获取服务列表,然后基于某种负载均衡算法(轮询、随机或自定义),选择需要访问服务的其中一个实例进行调用,其示意图如下图所示。原创 2023-01-11 00:32:59 · 120 阅读 · 0 评论 -
5.Feign
1.简介Feign是SpringCloud集成的HTTP客户端,可以更加便捷、优雅地调用HTTP API。2.整合Feign(在影厅服务中调用电影服务查询电影信息,在hall服务工程中修改)(1).引入依赖(2).feign开发首先在项目目录“/src/main/java/com/steven/movies/hall”下新建“/feign”目录,并在feign目录下新建FilmFeignAPI和FilmFeignAPIImpl类,具体代码如下。原创 2023-01-10 21:43:05 · 93 阅读 · 0 评论 -
4.Eureka Client
1.film服务(1).引入依赖(2).添加日志在logback.xml文件中添加如下配置信息。(3).添加配置在application.yml文件中添加如下配置信息。原创 2023-01-10 21:41:45 · 122 阅读 · 0 评论 -
3.Eureka Server
1.Eureka简介Eureka是SpringClolud集成的服务注册中心,包含Eureka Server和Eureka Client。Eureka Server提供服务注册服务,存储所有可用服务节点信息。Eureka Client用于简化与Eureka Server的交互(服务提供者和服务消费者将信息注册到Eureka Server上,服务消费者从Eureka Server读取服务列表信息)。服务生产者、服务消费者和Eureka的关系如下图所示。原创 2023-01-10 21:40:42 · 126 阅读 · 0 评论 -
2.通用工程
1.引入依赖2.config在项目目录“/src/main/java/com/steven/movies/common”下新建config目录,并在config目录下新建DruidProperties、MybatisPlusConfig和JWTProperties类,具体代码如下。原创 2023-01-10 21:40:01 · 126 阅读 · 0 评论 -
1.项目工程搭建
1.创建父工程(1).创建movies_parent工程(2).删除无用文件(3).修改pom文件原创 2023-01-10 21:38:56 · 157 阅读 · 0 评论 -
从头开始学SpringCloud
1.项目工程搭建2.通用工程3.Eureka Server4.Eureka Client5.Feign6.Ribbon7.Zuul8.Hystrix理论篇9.Hystrix实践篇10.微服务安全原创 2023-01-10 21:38:05 · 87 阅读 · 0 评论