1.网关是怎么演化来的 单体应用拆分成多个服务后,对外需要一个统一入口,解耦客户端与内部服务 2.网关的基本功能 网关核心功能是路由转发,因此不要有耗时操作在网关上处理,让请求快速转发到后端服务上 网关还能做统一的熔断、限流、认证、日志监控等 3.关于Spring Cloud Gateway Spring Cloud Gateway是由s…
1 LCN介绍 利用事务管理器,统一协调各个本地事务,实现事务的一致性。 特性: 1、一致性,通过TxManager协调控制与事务补偿机制确保数据一致性 2、易用性,仅需要在业务方法上添加@TxTransaction注解即可 3、高可用,项目模块不仅可高可用部署,事务协调器也可集群化部署 4、扩展性,支持各种RP…
本文来自于《精通Spring Cloud Alibaba》课程的整理,讲师为余胜军,点击查看视频内容。本文系志愿者整理,供配合学习中心课程使用,不做商业用途。 LCN官网基本介绍 http://www.txlcn.org/zh-cn/ LCN并不生产事务,LCN只是本地事务的协调工 LCN基本实现原理 发起方与参与方都与我们的L…
01为什么用分布式锁 在讨论这个问题之前,我们先来看一个业务场景:系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。 由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。 此时系统架构如下: 但是这…
对微服务由来的一些介绍 SpringCloud实战一:前言本篇的目的是想做一个《SpringCloud实战》的目录页,方便朋友们查阅,源码都是在本机运行测试后上传的, 源码地址 1.SpringCloud实战一:前言 2.SpringCloud实战二:Spring Cloud Eureka 服务发现与注册中心 3.Sp…
RouteDefinition路由定义,Spring-Cloud-Gateway通过RouteDefinition来转换生成具体的路由信息。RouteDefinition的信息是怎么加载初始化到网关系统中的,接下来阅读Spring-Cloud-Gateway的RouteDefinitionLocator(路由定义信息加载器)接口,学习Ro…
gateway配置路由主要有两种方式,一种是用yml配置文件,一种是写代码里,这两种方式都是不支持动态配置的。如: 下面就来看看gateway是如何加载这些配置信息的。 1 路由初始化 无论是yml还是代码,这些配置最终都是被封装到RouteDefinition对象中。 一个RouteDefinition有个唯一的ID,如果不指定,就默认…
构造一个线程池为什么需要几个参数?如果避免线程池出现OOM?Runnable和Callable的区别是什么?本文将对这些问题一一解答,同时还将给出使用线程池的常见场景和代码片段。 基础知识 Executors创建线程池 Java中创建线程池很简单,只需要调用Executors中相应的便捷方法即可,比如Executors.newFixedT…
背景 Spring Boot 2.3(截至目前版本为 M3)为容器化部署提供了一个新特性 Layered Jar。通常 Spring Boot 程序都是以 fat jar 的方式构建的,文件大小动辄 50M、100M 这样子,对 docker image 其实很不友好。Docker image 本身是分层结构,如果某一层没有变化在&nbs…
简介 Spring Boot Gradle Plugin为Spring Boot提供了对Gradle的支持,允许你将打包可执行的jar或者war archives,运行Spring Boot程序,然后使用spring-boot-dependencies提供的依赖管理。Spring Boot's Gradle插件需要Gradle 3.4及以…