![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringCloud
文章平均质量分 71
SpringCloud笔记
Maggieq8324
万事从未风过耳,一生只是梦游身
展开
-
SpringCloudAlibaba - Gateway 自定义过滤器工厂
目录前言环境Gateway过滤器的生命周期过滤器工厂内置过滤器工厂自定义过滤器工厂自定义过滤器工厂 - 实现方式自定义过滤器工厂 - 具体实例自定义过滤器工厂- 核心API前言Gateway中的过滤器可以为路由添加业务逻辑,修改请求以及响应环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASEGateway过滤器的生命周期pre: Gateway转发请求之前post: Gateway转发请求之后过滤器工厂内置过原创 2021-09-30 12:51:01 · 477 阅读 · 0 评论 -
SpringCloudAlibaba - Gateway 自定义路由谓词工厂
# 前言 Route(路由)是```Spring Cloud Gateway```的基础元素,就是一个转发规则,其包含```ID```、目标```URL```、```Predicate```集合以及```Filter```集合```Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE```如果访问```gateway的/baidu```这个路径就会进入该路由,会用```AddRequestHeader```这个过滤器去处理,再将请求转发到`原创 2021-09-29 20:15:03 · 623 阅读 · 1 评论 -
SpringCloudAlibaba - 整合 Gateway 实现对微服务的反向代理
目录前言环境为什么要使用网关Gateway的优点Gateway 核心概念Gateway 整合实例网关 core-gateway用户中心 user-center测试前言Spring Cloud Gateway是SpringCloud生态的第二代网关(第一代是Zuul),基于Netty、Reactor以及WebFlux构建环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE为什么要使用网关简化登录认证,网关统一认证再转发到原创 2021-09-29 17:35:38 · 1380 阅读 · 0 评论 -
SpringCloudAlibaba - RocketMQ 分布式事务消息的实现
目录前言环境分布式事务消息流程流程图流程解析事务消息三种状态具体实现实现代码内容中心用户中心测试前言RocketMQ提供了事务消息去解决程序异常回滚但消息已发出的问题,如服务A插入一条数据后服务B需要对用户数据进行修改,而服务A发出消息后程序发生异常导致数据插入回滚,而服务B监听到消息又对数据进行了修改,导致数据出现问题环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + RocketMQ 4.7.0分布式事务消息流程原创 2021-09-29 00:47:03 · 444 阅读 · 0 评论 -
SpringCloudAlibaba - 整合 RocketMQ 实现消息生产与消费
目录前言环境搭建搭建具体实现编写生产者(内容中心)代码测试编写消费者(用户中心)代码测试前言RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务环境win10 + Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + RocketMQ 4.7.0搭建搭建关于MQ与RocketMQ的环境搭建查看之前的文章MQ的适用场景、选择、术语和概念Windows下安装Ro原创 2021-09-28 20:29:30 · 1310 阅读 · 0 评论 -
SpringCloudAlibaba - Sentinel 的规则持久化
目录前言拉模式原理实现推模式原理实现前言记录下Sentinel规则持久化的实现拉模式原理Sentinel推送规则给微服务,微服务把规则生成JSON文件缓存到本地,Sentinel客户端会用一个定时任务定时去读取这个JSON文件并将它更新到规则缓存里,即使重启微服务,依然会从本地文件读取规则,通过这样的方式实现规则持久化实现SentinelDataSourceInit.javaimport com.alibaba.csp.sentinel.command.handler.Modify原创 2021-09-26 21:28:46 · 185 阅读 · 0 评论 -
SpringCloudAlibaba - Feign 整合 Sentinel
目录前言环境简单示例content-centeruser-center测试定制自己的逻辑处理限流/降级的异常捕捉前言记录下Feign整合Sentinel的方式Feign的整合与Sentinel的整合查看系列文章环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + Sentinel 1.8.1简单示例实现内容中心使用feign调用用户中心接口限流content-centerapplication.yml原创 2021-09-26 19:45:03 · 449 阅读 · 0 评论 -
SpringCloudAlibaba - RestTemplate 整合 Sentinel
目录前言环境具体实现内容中心用户中心测试关闭@SentinelRestTemplate注解前言记录下RestTemplate整合Sentinel的方式Sentinel的整合查看:SpringCloudAlibaba - 整合 Sentinel 实现服务限流环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + Sentinel 1.8.1具体实现实现内容中心使用RestTemplate调用用户中心接口限流内容原创 2021-09-26 18:57:02 · 222 阅读 · 0 评论 -
SpringCloudAlibaba - @SentinelResource注解的使用
目录前言具体使用简单示例blockHandlerClass 单独配置注解属性前言@SentinelResource用于定义资源具体使用简单示例SentinelResourceController.javaimport com.alibaba.csp.sentinel.annotation.SentinelResource;import com.alibaba.csp.sentinel.slots.block.BlockException;import lombok.extern.slf原创 2021-09-26 16:44:39 · 206 阅读 · 0 评论 -
SpringCloudAlibaba - Sentinel API 使用示例
目录前言前言https://github.com/alibaba/Sentinel/wiki 概览- ```Sentinel```的三个核心```API``````SphU 定义资源,让资源受到监控且可以保护资源Tracer 可以对想要的异常进行统计ContextUtil 可以实现调用来源,还可以标记调用```原创 2021-09-26 14:53:10 · 1269 阅读 · 0 评论 -
SpringCloudAlibaba - 整合 Sentinel 实现服务限流
目录前言具体实现搭建Sentinel控制台前言Sentinel 是一个轻量级的流量控制、熔断降级Java库具体实现pom.xml<!-- sentinel --><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></depen原创 2021-09-24 20:15:29 · 722 阅读 · 0 评论 -
SpringCloudAlibaba - Feign 的性能调优
目录前言RestTemplate 和 FeignFeign 的性能调优方式配置连接池httpclient 连接池配置okhttp 连接池配置设置合适日志级别前言记录下Feign的性能调优方式,在微服务内部调用接口主要有RestTemplate和Feign方式来实现,其都是Http的RestTemplate在微服务当中与注解@LoadBanlance注解结合使用, 可以通过服务名进行模块之间的接口调用Feign默认集成了ribbon,用它也可以通过服务名进行模块之间的接口调用RestT原创 2021-09-23 21:15:22 · 930 阅读 · 0 评论 -
SpringCloudAlibaba - Feign 脱离 Ribbon 的使用
目录前言环境具体实现前言记录下Feign脱离Ribbon的使用环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE具体实现TestBaiduFeignClient.javaimport org.springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.GetMapping;/** * fe原创 2021-09-23 20:05:53 · 949 阅读 · 0 评论 -
SpringCloudAlibaba - 整合 Feign 实现远程 HTTP 调用
目录前言环境简单示例content-centeruser-center示例测试结果Feign 的组成和支持的配置项Feign 的组成Feign 支持的配置项代码配置支持的配置项配置属性支持的配置项Feign 的日志Feign 的日志级别自定义配置 Feign 的日志级别Java 代码配置方式yml 属性配置方式全局配置 Feign 的日志级别Java 代码配置方式yml 属性配置方式Feign 日志级别配置方式总结项目源码前言Feign是Netflix开源的声明式HTTP客户端,致力于让编写http c原创 2021-09-23 18:27:21 · 479 阅读 · 0 评论 -
SpringCloudAlibaba - Nacos 服务发现的数据模型
目录Namespace 命名空间,默认是public,主要用来实现隔离,比如用来对应开发环境、测试环境、生成环境,不同的命名空间是隔离的Group 服务分组,以方便管理,默认是default_Group分组,Group可以把不同的微服务划分到同一个分组Service 微服务,一个微服务可以包含多个Cluster(集群),Cluster Cluster是对指定微服务的虚拟划分Instance 微服务实例...原创 2021-09-23 13:05:31 · 180 阅读 · 0 评论 -
SpringCloudAlibaba - 扩展 Ribbon 同集群优先调用
目录前言环境测试用例测试内容用户中心 user-center内容中心 content-center具体实现代码配置测试项目源码前言记录下Ribbon优先调用同一集群下实例的实现环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + Nacos 1.4.2测试用例测试内容实现内容中心调用用户中心时优先调用同一集群下实例用户中心 user-centerTestController.java@RestContr原创 2021-09-23 11:36:53 · 650 阅读 · 0 评论 -
SpringCloudAlibaba - 扩展 Ribbon 支持 Nacos 权重
目录前言环境具体实现测试用例用户中心 user-center内容中心 content-center默认的负载均衡Nacos权重扩展代码配置测试项目源码前言Nacso可以为每一个实例配置权重,权重越大代表该实例被调用的几率越大,Ribbon内置的负载均衡规则并不支持Nacos的权重,需要额外扩展环境Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + Nacos 1.4.2具体实现测试用例用户中心 user-center原创 2021-09-23 00:38:59 · 580 阅读 · 0 评论 -
SpringCloudAlibaba - 整合 Ribbon 实现负载均衡
目录前言环境简单示例user-centercontent-center测试Ribbon 的组成和默认的负载均衡规则Ribbon 的组成Ribbon 默认的负载均衡规则Ribbon 的自定义配置Java 代码配置方式yml 属性配置方式Ribbon 的全局配置Ribbon 的饥饿加载项目源码前言Ribbon是一个Netflix开源的客户端侧负载均衡器,其提供了丰富的负载均衡算法,服务消费者集成Ribbon后,Ribbon会自动从Nacos Server获取想要调用的服务的地址列表,通过负载均衡算法计算出一原创 2021-09-22 23:32:51 · 1170 阅读 · 0 评论 -
SpringCloudAlibaba - 整合 Nacos 实现服务注册与发现
目录前言环境Nacos是什么?服务发现原理搭建 Nacos ServerNacos Server 下载地址Nacos Server 的版本选择运行 Nacos ServerNacos Client 注册user-center 用户中心微服务注册content-center 内容中心微服务注册服务发现测试前言记录下Nacos的整合过程环境Win 10 + Spring Cloud 2020.0.1 + Spring Cloud Alibaba 2021.1 + Nacos 2.0.0Nacos是什原创 2021-09-21 20:28:28 · 588 阅读 · 0 评论 -
SpringCloud - 关于微服务
@TOC微服务微服务的定义微服务的完整定义来自Martin Fowler的文章《 MicroServices》,作者是James Lewis与Martin Fowler,他们对微服务的定义如下所示:译为:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间的通信采用轻量级通信机制(通常用HTTP 资源 API)。 这些服务围绕业务能力构建并且可以通过全自动化部署机制独立部署。 这些服务共用一个最小型的集中式的管理,服务可用不同的编程语言编写并使用原创 2021-09-21 14:43:55 · 306 阅读 · 0 评论 -
SpringCloudAlibaba - 整合 Spring Cloud Alibaba
目录前言整合步骤版本与兼容性Spring Cloud Alibaba 版本说明Spring Cloud 版本说明整合Spring Cloud整合spring cloud alibaba完整pom文件编译前言Spring Cloud Alibaba是SpringCloud的子项目,是阿里的微服务解决方案,致力于提供微服务开发的一站式解决方案,包括微服务开发的必备组件。Spring Cloud Alibaba的整合包括两步:1、整合SpringCloud 2、整合SpringCloud Alibaba原创 2021-09-21 13:57:34 · 1138 阅读 · 0 评论 -
SpringCloud+Tornado基于jwt实现请求安全校验
项目背景在实际项目中,Tornado项目作为一个微服务纳入SpringCloud体系,该过程中涉及到Tornado与Spring体系的安全验证,也就是权限调用校验,在该项目中Tornado是通过SpringCloud中的Feign调用的,经过一系列实验,最后选用jwt来实现这个权限效验的过程。实现思路用户进行登陆认证(后台微服务),认证成功后调用Tornado项目的认证接口生成token,该值返回到后台微服务保存在会话中,下一次请求时带上该token值让服务器进行校验,校验成功则返回正常的响应,否则原创 2020-12-19 16:24:28 · 1399 阅读 · 2 评论 -
SpringCloud 整合 Python - Flask
前言该篇文章分享如何将Python Web服务融入到Spring Cloud微服务体系中,并调用其服务,Python Web框架用的是Flask方案Sidecar+ Flask,在这里,我们会使用Sidecar将Python接口注册到SpringCloud中,将Python接口当作Java接口进行调用(通过SpringCloud去调用Sidecar,然后通过Sidecar去转发我们的程序请求...原创 2019-12-26 00:35:37 · 2357 阅读 · 2 评论 -
SpringCloud 整合 Python - Tornado
前言该篇文章分享如何将Python Web服务融入到Spring Cloud微服务体系中,并调用其服务,Python Web框架用的是Tornado构建Python web服务引入py-eureka-client客户端pip install py_eureka_clientmanage.py#!/usr/bin/env pythonimport tornado.httpse...原创 2019-12-25 23:17:15 · 1060 阅读 · 0 评论