Spring Cloud Alibaba从孵化器版本毕业:https://github.com/alibaba/spring-cloud-alibaba,记录一下自己学习Spring Cloud Alibaba的笔记. 1.在整合Spring Cloud Alibaba之前,首先需要整合Spring Cloud 在Spring Cloud的官网可以了解到目前最新的稳定版Spring Cloud版本,我所选择版本是Greenwich.SR3.在项目的pom.xml文件中加入以下代码段就可以整合Sp…
Spring Cloud Gateway 概述 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于Netty.Reactor以及WEbFlux构建,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式. Spring Cloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全.监控.埋点和…
引自B站楠哥:https://space.bilibili.com/434617924 一.创建父工程 创建父工程hello-spring-cloud-alibaba Spring Cloud Alibaba 的环境在父工程中创建,微服务的各个组件作为子工程,继承父工程的环境. Spring Boot --->Spring Cloud --->Spring Cloud Alibaba 引入依赖时注意提前查询一下spring cloud的版本依赖关系. pom文件为,父工程打包时应打成pom,否…
1.手写一个客户端负载均衡器 在了解什么是Ribbon之前,首先通过代码的方式手写一个负载均衡器 RestTemplate restTemplate = new RestTemplate(); // 获取请求示例 List<ServiceInstance> instances = discoveryClient.getInstances("study02"); List<String> collect = instances.stream() .map(inst…
目前业界流行的统一配置管理中心组件有Spring Cloud Config.Spring Cloud Alibaba的Nacos及携程开源的Apollo,本文将介绍Nacos作为统一配置管理中心的使用. 使用Nacos管理配置 比如我现在有这样一段代码: @Value("${your.configuration}") private String yourConfiguration; @GetMapping("/test_configuration") public…
1.什么是Nacos Nacos的官网对这一问题进行了详细的介绍,通俗的来说: Nacos是一个服务发现组件,同时也是一个配置服务器,它解决了两个问题: 1.服务A如何发现服务B 2.管理微服务的配置 2.搭建Nacos Server 2.1  环境准备 Nacos依靠java环境运行,搭建Nacos Server,需要配置maven环境,版本环境要求如下: 1.64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac 2.64 bit JD…
整合Sentinel 应用整合Sentinel 在dependencies中添加依赖,即可整合Sentinel <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> 搭建Sentinel控制台 可以从这个地址:https://github…
Sentinel 控制台 需要具备下面几个特性: 规则管理及推送,集中管理和推送规则.sentinel-core 提供 API 和扩展接口来接收信息.开发者需要根据自己的环境,选取一个可靠的推送规则方式:同时,规则最好在控制台中集中管理. 监控,支持可靠.快速的实时监控和历史监控数据查询.sentinel-core 记录秒级的资源运行情况,并且提供 API 来拉取资源运行信息.当机器大于一台以上的时候,可以通过 Dashboard 来拉取,聚合,并且存储这些信息.这个时候,Dashboard 需…
使用Sentinel API Sentinel主要有三个核心Api: SphU:定义资源,让资源收到监控,保护资源 SphU 包含了 try-catch 风格的 API.用这种方式,当资源发生了限流之后会抛出 BlockException.这个时候可以捕捉异常,进行限流之后的逻辑处理. String resourceName = "test_sentinel_api"; Entry test_sentinel_api = null; // 定义一个Sentinel保护的资源 try {…
随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求陷入性能瓶颈或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药.于是就有了分布式系统调用跟踪的诞生. Spring Cloud Sleuth 也为我们提供了一套完整的解决方案.在本文中,我们将详细介绍如何使用 Spring Cloud Sleuth + Zipkin 来为我们的微服务架构增加分布式服务跟踪的能力. Spring C…