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…
发送消息 在Spring消息编程模型下,使用RocketMQ收发消息 一文中,发送消息使用的是RocketMQTemplate类. 在集成了Spring Cloud Stream之后,我们可以使用Source实现消息的发送,代码如下 private final Source source; ...... source.output().send( MessageBuilder .withPayload(Demo.builder().demoId(1).remark("哈哈哈").bui…
在Spring中,我们要实现事务,一般通过@Transactional注解实现.这在引入RocketMQ之前没有问题,但是在引入了RocketMQ之后,如果消息发送之后的业务逻辑处理发生了异常的话,这时候消息已经发送出去了,就会导致业务的问题. 为了解决这一问题,RocketMQ引入了Transactional Message[事务消息]. 生产者向MQServer发送半消息[半消息:会存储进MQ Server,但是被标记为不能投递状态] 发送半消息成功,生产者实行本地事务 根据本地事务结果向M…
编写生产者 集成 添加依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.0.3</version> </dependency> PS:由于默认引入的rocketmq-spring-boot-starter版本为2.0.2,r…
随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求陷入性能瓶颈或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药.于是就有了分布式系统调用跟踪的诞生. Spring Cloud Sleuth 也为我们提供了一套完整的解决方案.在本文中,我们将详细介绍如何使用 Spring Cloud Sleuth + Zipkin 来为我们的微服务架构增加分布式服务跟踪的能力. Spring C…