Springcloud-Alibaba学习之路
文章平均质量分 89
Springcloud-Alibaba学习笔记
PoetryAndTheDistance
三年Java后端,一年数据。一年交付。没别的爱好,只是喜欢啃骨头。
展开
-
十九:分布式事务Seata源码分析
目录Seata调试环境搭建源码拉取源码编译配置db存储模式启动Seata TC Server服务核心接口和类ResourceManagerDataSourceManagerAsyncWorkerUndoLogManagerTransactionManagerDefaultTransactionManagerGlobalTransactionDefaultGlobalTransactionGlobalTransactionContextGloba原创 2021-05-17 20:51:39 · 818 阅读 · 1 评论 -
十八:Spring Cloud Alibaba整合Seata实战
目录1. 启动Seata Server1.1 环境准备2. Seata如何整合到Spring Cloud微服务2.1 导入依赖2.2 微服务对应数据库中添加undo_log表2.3 微服务需要使用seata DataSourceProxy代理自己的数据源2.4添加seata的配置demo代码下载: learn-seata.zip1. 启动Seata Server1.1 环境准备1 指定nacos作为配置中心和注册中心修改registry.conf文件..原创 2021-05-16 17:46:13 · 2449 阅读 · 1 评论 -
十七:分布式事务Seata使用及其原理剖析
目录1.Seata 是什么1.1 Seata的三大角色1.2 设计思路2. Seata快速开始2.1 Seata Server(TC)环境搭建2.2 Seata Client快速开始编程式事务实现(GlobalTransaction API)声明式事务实现(@GlobalTransactional)接入微服务应用demo代码下载: learn-seata.zip1.Seata 是什么Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的.原创 2021-05-16 14:05:52 · 1236 阅读 · 0 评论 -
十六:分布式事务介绍
目录1. 事务简介2. 本地事务3. 分布式事务典型场景3.1 跨库事务3.2分库分表3.3服务化4.X/OpenDTP模型与XA规范4.1 DTP模型4.2XA规范5. 两阶段提交协议(2PC)两阶段提交协议(2PC)存在的问题6. 三阶段提交协议(Three-phase commit)1. 事务简介事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语...原创 2021-05-16 12:59:43 · 337 阅读 · 0 评论 -
十五:Sentinel规则持久化实战及其源码分析
目录1. Sentinel规则推送模式1.1 原始模式1.2 拉模式拉模式改造1.3 推模式1.3.1 基于Nacos配置中心控制台实现推送微服务中通过yml配置实现1.3.2 基于Sentinel控制台实现推送2. sentinel规则持久化部分源码分析代码demo下载:mall-user-sentinel-rule-pull-demo.zipsentinel-datasource-extension-file-pull.zipSentinel规则持久化原创 2021-05-12 22:15:12 · 345 阅读 · 1 评论 -
十四:Sentinel核心架构源码剖析
目录Sentinel限流、熔断降级源码架构图常见限流算法计数器法滑动时间窗口算法漏桶算法令牌桶算法限流算法小结计数器 VS 滑动窗口:漏桶算法 VS 令牌桶算法:Sentinel限流、熔断降级源码架构图常见限流算法计数器法计数器法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来说,我们1分钟的访问次数不能超过100个。那么我们可以这么做:在一开始的时候,我们可以设置一个计数器counter,每当一个请求过来的时候,counter就原创 2021-05-12 21:54:11 · 337 阅读 · 0 评论 -
十三:Sentinel整合RestTemplate&openFegin&Dubbo实战
目录1. RestTemplate整合Sentinel2. OpenFeign整合Sentinel3. Sentinel整合Dubbo实战代码demo下载:vip-spring-cloud-alibaba.zip1. RestTemplate整合SentinelSpring Cloud Alibaba Sentinel 支持对 RestTemplate 的服务调用使用 Sentinel 进行保护,在构造 RestTemplate bean的时候需要加上 @SentinelRes.原创 2021-05-11 23:14:31 · 488 阅读 · 2 评论 -
十二:Sentinel控制台规则配置详解
目录1. Sentinel控制台介绍1.1 实时监控1.2 簇点链路1.3 流控规则1. Sentinel控制台介绍Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。Sentinel 控制台包含如下功能:查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。 监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终原创 2021-05-06 23:25:01 · 1693 阅读 · 2 评论 -
十一:微服务组件Sentinel实战
目录1. 前言1.1 分布式系统遇到的问题1.2 解决方案1.2.1超时机制1.2.2服务限流(资源隔离)1.2.3服务熔断1.2.4服务降级2. Sentinel: 分布式系统的流量防卫兵2.1 Sentinel 是什么2.2 Sentinel 工作原理2.2.1 基本概念2.2.2 Sentinel工作主流程2.3 Sentinel快速开始2.4 Spring Cloud Alibaba整合Sentinel代码demo下载:mall-u...原创 2021-05-06 22:54:54 · 537 阅读 · 3 评论 -
十:Alibaba微服务组件Nacos配置中心实战&源码分析
demo代码下载:nacos配置中心demo代码.zip1. Nacos配置中心使用官方文档: https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-configNacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用原创 2021-05-06 22:28:22 · 432 阅读 · 0 评论 -
九:Alibaba Nacos注册中心源码剖析
Nacos&Ribbon&Feign核心微服务架构图架构原理微服务系统在启动时将自己注册到服务注册中心,同时外发布 Http 接口供其它系统调用(一般都是基于Spring MVC) 服务消费者基于 Feign 调用服务提供者对外发布的接口,先对调用的本地接口加上注解@FeignClient,Feign会针对加了该注解的接口生成动态代理,服务消费者针对 Feign 生成的动态代理去调用方法时,会在底层生成Http协议格式的请求,类似 /stock/deduct?productId原创 2021-05-06 22:06:07 · 1905 阅读 · 11 评论 -
八:微服务调用组件Dubbo
目录1. Spring Cloud整合Dubbo1.1provider端配置1.2 consumer端配置1.3从Open Feign迁移到Dubbo1. Spring Cloud整合Dubbo1.1provider端配置引入依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-dub...原创 2021-04-12 22:31:24 · 1472 阅读 · 0 评论 -
Spring Cloud Alibaba使用手册
Spring Cloud Alibaba使用手册原创 2021-04-12 21:56:55 · 255 阅读 · 0 评论 -
七:微服务调用组件Feign
目录JAVA 项目中如何实现接口调用?1. 什么是Feign1.1 优势1.2 Feign的设计架构1.3 Ribbon&Feign对比1.4Feign单独使用2. Spring Cloud Alibaba快速整合Feign3. Spring Cloud Feign的自定义配置及使用3.1 日志配置3.2 契约配置3.3 通过拦截器实现认证3.4 超时时间配置3.5 客户端组件配置3.5.1 配置Apache HttpClient3..原创 2021-04-12 21:52:54 · 1412 阅读 · 0 评论 -
六:微服务负载均衡器LoadBalancer
1. 什么是Spring Cloud LoadBalancerSpring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器, 用来替代Ribbon。Spring官方提供了两种负载均衡的客户端:RestTemplateRestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。默认情况下,RestTemplate默认依赖jdk的HTTP连接原创 2021-04-06 23:21:17 · 972 阅读 · 0 评论 -
五:微服务负载均衡器Ribbon
目录1.什么是Ribbon1.1 客户端的负载均衡1.2 服务端的负载均衡1.3 常见负载均衡算法1.4 Ribbon模块1.5 Ribbon使用2. Spring Cloud快速整合Ribbon2.1引入依赖2.2添加@LoadBalanced注解2.3修改controller3. Ribbon内核原理3.1 Ribbon原理3.1.1 模拟ribbon实现3.1.2 @LoadBalanced 注解原理3.1.3 Ribbon相关接口...原创 2021-04-06 22:59:32 · 477 阅读 · 0 评论 -
四:Alibaba微服务组件Nacos注册中心
目录Alibaba微服务组件Nacos注册中心什么是 NacosNacos 架构Nacos Server部署prometheus+grafana监控NacosNacos注册中心注册中心演变及其设计思想Nacos注册中心架构核心功能服务注册表结构服务领域模型2.6 服务实例数据Spring Cloud Alibaba Nacos快速开始Spring Cloud Alibaba版本选型搭建Nacos-client服务Nacos源码编译Al.原创 2021-04-01 00:27:53 · 649 阅读 · 2 评论 -
三:微服务架构介绍
目录微服务架构介绍单体架构vs微服务架构单机架构微服务以及微服务架构Spring Cloud 微服务技术栈介绍SpringCloud微服务架构生态圈Spring Cloud Netflix包含的组件:Spring Cloud Alibaba技术栈Spring Cloud Alibaba 包含组件Spring Cloud Alibaba版本选择微服务架构介绍单体架构vs微服务架构单机架构什么是单体架构一个归档包(例如war格式)包含了应用所.原创 2021-03-31 23:46:52 · 382 阅读 · 0 评论 -
二:SpringBoot启动原理
SpringBoot 是如何通过jar包启动的得益于SpringBoot的封装,我们可以只通过jar -jar一行命令便启动一个web项目。再也不用操心搭建tomcat等相关web容器。那么,你是否探究过SpringBoot是如何达到这一操作的呢?只有了解了底层实现原理,才能更好的掌握该项技术带来的好处以及性能调优。本篇文章带大家聊一探究竟。java -jar做了什么先要弄清楚java -jar命令做了什么,在oracle官网找到了该命令的描述:If the -jar option is s原创 2021-03-30 00:05:06 · 754 阅读 · 0 评论 -
一:SpringBoot自动配置原理、自定义starter
目录1、SpringBoot的自动配置原理一、简介二、原理2、自定义starter一、简介二、如何自定义starter3、自定义starter实例4、测试自定义starter1、SpringBoot的自动配置原理一、简介不知道大家第一次搭SpringBoot环境的时候,有没有觉得非常简单。无须各种的配置文件,无须各种繁杂的pom坐标,一个main方法,就能run起来了。与其他框架整合也贼方便,使用EnableXXXXX注解就可以搞起来了!所以今天来学习一.原创 2021-03-25 23:41:19 · 489 阅读 · 0 评论