这个用户很懒,还没有个人简介
私信
主帖 28
回帖
视频
提问
回答
资源
专栏
作者一起撸Java来源今日头条学习目标Sentinel的工作原理第1章限流原理在Sentinel中,所有的资源都对应一个资源名称以及一个Entry。每一个entry可以表示一个请求。而Sentinel中,会针对当前请求基于规则的判断来实现流控的控制,原理如下图所示。上图仅作为设计思想的展示,图中Slot的顺序已和最新版SentinelSlotChain顺序不一致当一个外部请求过来之后,会创建一个Entry,而创建Entry的同时,也会创建一系列的slot组成一个责任...
1天前 30浏览 0点赞 0回复 0收藏
作者一起撸Java来源今日头条学习目标了解分布式事务。理解Seata的概念Springboot如何整合Seata第1章分布式系统关注点1.1CAP理论C:consistency(强一致性):所有的节点上的数据时刻保持同步A:Avaliablity(可用性):每个请求都能接受到一个响应,无论响应成功或失败P:PartitionTolerance(分区容错):系统应该能持续提供服务,即使系统内部有消息丢失(分区)高可用、数据一致是很多系统设计的目标,但是分区又是不可避免...
1天前 24浏览 0点赞 0回复 0收藏
作者一起撸Java来源今日头条第3章SeataSeata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在Seata开源之前,Seata对应的内部版本在阿里经济体内部一直扮演着分布式一致性中间件的角色,帮助经济体平稳的度过历年的双11,对各BU业务进行了有力的支撑。经过多年沉淀与积累,商业化产品先后在阿里云、金融云进行售卖。2019.1为了打造更加完善的技术生态和普惠技术成果,Seata正式...
1天前 36浏览 0点赞 0回复 0收藏
作者一起撸Java来源今日头条学习目标SeataAT模式源码流程第1章AT模式流程1.1思维流程推导上文中已经讲了AT模式的大体原理,在源码中,通过README也能看出来AT模式的使用,那本文将从底层源码层面去分析AT模式的原理,在分析原理之前咱们先来看三幅图,理解一下他的工作思路和模式:先看看思维推导图1.2初始化流程推导1.3执行流程推导第2章源码分析2.1SeataAutoConfiguration对于seata源码的研究主要看seata如何拦截业务SQL生成u...
1天前 68浏览 0点赞 0回复 0收藏
作者一起撸Java来源今日头条2.4AbstractAutoProxyCreatorGlobalTransactionScanner初始化完了TM和RM以后,我们再关注一下AbstractAutoProxyCreator,自动代理。自动代理,它代理啥东西呢?或者说它给spring中的Bean增强了什么功能?GlobalTransactionScanner主要扩展了AbstractAutoProxyCreator的wrapIfNecessary代理增强的前置判断处理,表示是否该Bean需要增强,如果增强的话创建代理类2.4.1wrapIfNecessaryOverrideprotected...
1天前 28浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标微服务架构的演进——推导单体架构到微服务架构一路走来的根本原因深层次理解spring的问题理解spring一路走来所做的努力springboot对spring的优化springboot使用第1章:微服务架构的演进1.1单体架构任何一个网站在发布初期几乎都不可能立马就拥有庞大的用户流量和海量数据,都是在不停地试错过程中一步一步演变其自身架构,满足其自身业务。比如现在能够抗住双十一这么大流量的淘宝,它的技术...
2022-07-26 17:41:02 351浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标理解自动装配的核心原理能手写一个EnableAutoConfiguration注解理解SPI机制的原理第1章集成Redis1.引入依赖包<dependency><groupId>org.springframework.boot<groupId><artifactId>springbootstarterdataredis<artifactId><dependency>2.配置参数spring.redis.host192.168.8.74spring.redis.password123456spring.redis.database03.controllerpackagecom.example.springbootvipjtdemo.redisdem...
2022-07-26 17:40:39 213浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标理解springboot的总体启动流程,并能口述大概理清配置文件的加载流程第1章main入口publicstaticvoidmain(String[]args){代码很简单SpringApplication.run();SpringApplication.run(ConsumerApp.class,args);}publicstaticConfigurableApplicationContextrun(Class<>primarySource,String...args){这个里面调用了run()方法,我们转到定义returnrun(newClass<>[]{primarySource},args);}这个run...
2022-07-26 17:40:28 241浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标明确starter组件到底是什么?是做什么的?自己实现一个starter组件SpringBoot提供的Starter组件和第三方Starter组件SpringBootWebStarter如何自动让应用部署到Tomcat容器的第1章starter组件简介starter组件是SpringBoot的一个核心特性,Starter组件的出现极大简化了项目开发,例如在项目中使用的pom.xm文件下配置:<dependency><groupId>org.springframework.boot<groupId><artifactId>springb...
2022-07-26 17:40:02 91浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标回顾架构的演进明确springcloud是什么?明确spring、springboot和springcloud之间的关系了解springcloud的常用组件及其作用第1章架构演进1.1单体架构我相信,绝大部分同学都用过SSM框架进行过开发,当时你们所在项目组肯定是将所有的功能模块全部放在了同一个框架里面,只是不同的功能建了一个不同的包,然后所有的功能模块数据存储在一个数据库里面,然后通过一台Tomcat容器去启动服务。这种...
2022-07-26 17:39:50 114浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标理解负载均衡是概念,认识常用负载均衡算法RestTemplate应用Ribbon与其他负载均衡组件对比Ribbon集成springcloud第1章:初识负载均衡负载均衡:建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡说白了其实就是伴随着微服务架构的诞生的产物;过去的单体架构,前端页面发起请求,然...
2022-07-26 17:39:43 187浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标推导Ribbon的核心流程手写一个简易版的Ribbon通过源码验证推导的流程第1章核心流程推导其实Ribbon的核心流程很简单,我们在使用过程中无非就是引入了一个springcloudstarternetflixribbon的jar包,然后在程序启动的时候注入了一个RestTemplate对象,在该对象上面增加了一个LoadBalanced注解,然后在通过RestTemplate对象去调用URL的时候就能根据不同的负载均衡策略去调不同的服务,那这个注解...
2022-07-26 17:39:18 273浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标什么是OpenFeign以及它的作用RPC到底怎么理解OpenFeign的应用第1章OpenFeign简介在前面的内容中,我们分析了基于RestTemplate实现http远程通信的方法。并且集成了Ribbon实现了请求的负载均衡功能。但是在使用RestTemplate中,仍然可以发现它对于开发者来说并不透明。我们仍然需要去通过RestTemplate中的方法来发起远程通信请求,这些流程理论上来说应该都需要对开发者屏蔽,因为开发者只需要关...
2022-07-26 17:38:51 235浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标为什么加一个注解就能实现远程过程调用呢?推导它底层的实现主流程?OpenFeign怎么实现RPC的基本功能的通过源码验证第1章OpenFeign主流程推导要明确OpenFeign的主流程首先我们还是要明确它的核心目标是什么?说白了,OpenFeign最核心的目标就是让客户端在远程调用过程中不需要做什么多余的操作,只要拿到一个对象,然后调用该对象的方法就好了,剩下的操作都交给OpenFeign去帮你完成,那剩下一...
2022-07-26 17:38:28 202浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标Eureka是什么?它的作用是什么Eureka分为什么模块,以及如何部署Eureka的常见问题和常见操作Eureka集群搭建第1章Eureka简介官网:https:cloud.spring.iospringcloudnetflixreferencehtml1.1Euraka介绍Eureka是Netflix中的一个开源框架,Eureka由多个instance(服务实例)组成,这些服务实例可以分为两种:EurekaServer和EurekaClient。为了便于理解,我们将Eurekaclient再分为服务提供端provider...
2022-07-26 17:38:08 220浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标Eureka主流程推导Eureka源码分析第1章核心流程1.1Eureka做了什么事首先我们都明白,Eureka是用在做服务注册的,而注册中心要实现什么功能呢?这个必须明确了。既然是注册中心,那首先要能保存服务的ip、port等信息吧,这是Eurekaserver必须提供的基础功能。当我注册上来之后,还要提供一些动态感知服务上下线的功能吧,如果一个服务上下线,Eurekaserver都不知道,那这个玩意儿就一文不值了。...
2022-07-26 17:37:49 204浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标Hystrix到底是什么?它的核心功能是什么Hystrix的应用案例第1章Hystrix简介git上的介绍:https:github.comNetflixHystrixHystrix目前不再进行开发了,从github的更新来看,已经好久没有更新了,Hystrix推荐使用Resilience4j来替代,但是,国内使用Resilience4j的大厂比较少,更多的大厂使用的是SpringCloudAlibabaSentinel来实现熔断与限流,又或者在现有的开源框架上进行包装,自己实现功能。...
2022-07-25 17:32:39 378浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标手写Mini版的HystrixRxJava知识梳理Hystrix的核心流程分析源码验证第1章手写Mini版上文中已经给大家介绍过了Hystrix的核心功能和使用了,它无非就是提供了熔断、降级、隔离等功能,其中熔断和隔离是目的,降级是结果。在使用过程中其实最核心的有三个注解:EnableHystrix、HystrixCommand和HystrixCollapser。可以通过注解HystrixCommand、或者继承HystrixCommand来实现降级,以及一些请求合并...
2022-07-25 17:31:58 335浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标Gateway是什么?它有什么作用?Gateway中的断言使用Gateway中的过滤器使用Gateway中的路由使用第1章网关1.1网关的概念简单来说,网关就是一个网络连接到另外一个网络的“关口”。如下图所示,当我们所在的本地网络(局域网)要访问外部网络的数据时,需要通过路由器进行转发,而这里的路由器就充当了网关的角色。1.2网关的作用网关的作用,是可以实现不同网络之间的互联,同时,还可以使得在不...
2022-07-25 17:31:42 318浏览 0点赞 0回复 0收藏
作者宇木木兮来源今日头条学习目标Gateway核心原理分析第1章Bean的准备前面也讲了这么多组件了,这会儿我们集成springcloudstartergateway组件发现,又是一个starter组件,二话不说,先去找spring.factories文件,分析一下有哪些重要的bean被自动装配进IoC容器里面了。1.先来看GatewayClassPathWarningAutoConfiguration这个配置类Configuration(proxyBeanMethodsfalse)当前配置类在GatewayAutoConfiguration这个核心配置类之前...
2022-07-25 17:31:26 224浏览 0点赞 0回复 0收藏