自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 zookeeper实现分布式队列

zookeeper实现分布式队列利用zookeeper的有序节点和节点一旦被删除,其他连接就不能重复删除的特性实现一个非常简单的分布式队列,说实话,我觉得用zookeeper实习分布式队列并不合适,而且我这里实现的也是最简单的,效率也不高实现细节,利用create -s /queue/q_创建有序节点,这样数据就放到队列了,当然这一步是使用zookeeper的客户端Curator实现的,然后取...

2020-01-22 13:20:12 502

原创 zookeeper实现分布式锁

多线程下保证资源的安全性是一个很重要的事情,在单机上,我们可以通过synchronized, Lock等机制实现线程同步,但是在分布式情况下,又该怎么实现同步机制呢,我们可以利用redis单线程的机制实现分布式锁,但是这里我们利用zookeeper实现分布式锁。其实原理和之前master节点选举大致相同, 每个服务向zookeeper获取锁,如果获得到锁就当当前节点数据保存到/lock节点中,其...

2020-01-21 20:40:41 200

原创 zookeeper实现负载均衡

先看看这张图,业务服务在/web节点下注册临时节点,如server1服务对应/web/web1临时节点,然后监控/web节点的孩子节点事件,使用一个集合保存这些点数据,当新增和移除时,分别在记录这些节点数据,下边我们实现一个加权随机负载均衡的模拟实现1.定义节点数据,保护节点路径,服务ip,服务端口,权重/** * @ClassName NodeData * @Author mjlft...

2020-01-21 17:10:22 1446

原创 zookeeper实现消息订阅

消息订阅应用非常广泛,像spring config中,当配置发生改变时其他需要第一时间发现并且更新自己的配置信息;其实像之前说到的master选举也是一样,在我看来也是消息订阅的一种特例,当主节点宕机时,其他节点需要立即感应,并且同时立马进行主节点竞选其实这一篇与master竞选原理一致,都是监听一个节点的状态,master节点选举主要监听的是主节点的移除事件,而消息订阅需要更具不同的场景进行不...

2020-01-21 11:45:17 1060

原创 zookeeper实现master选举

zookeeper的使用创建非常多,在大数据中经常用来实现master选举,在分布式系统中实现分布式锁,也可以用来实现符在均衡,分布式队列,分布式命名服务,下边就来说说使用zookeeper实现master选举1.定义一个节点数据类:/** * @ClassName NodeData * @Author mjlft * @Date 2020/1/20 21:58 * @Version ...

2020-01-20 23:35:55 235

原创 spring cloud zuul 与 sentinel 结合使用

本来大型服务处理请求超时,限流,降级熔断工作用hystrix,但是这个这个项目不再更新了,虽说它现在提供的版本不会影响到大多数开发者的使用,但是长远考虑,被更换是一件必然的事,而且现在像resilience4j, Sentinel这样的替代品出现,今天我们就看看使用zuul 与 Sentinel整合,实现降级与超时处理,其实网上有很多这样的教程,这里我只是做一个自己的笔记而已1.必须的依赖 ...

2020-01-18 22:33:41 3071

原创 spring cloud 注册服务状态UNKNOW(1)

出现这个状态的原因是spring cloud在检测注册服务健康状态时出现了问题,网上提供的方法都是开启健康状态检测,或者是配置的位置不对,但这都只是针对配置而言的,下边是我的方法:查看依赖,检测健康状态需要提供一个/health接口,这个是有spring boot的spring-boot-actuator提供的服务,但是在spring-boot中使用,我们引入平时使用的这个依赖就会出现问题,...

2020-01-18 11:44:48 381

原创 Springboot 自定义starter

之前说了SpringBoot的自动配置原理,现在说说一个简单的自定义spring-boot-stater,这个starter的功能很简单,就是没200毫秒在控制台输出当前时间,要注意的是这个spring-boot-stater是一个独立的模块,与我们自己的spring-boot项目只需要用一个注解接口生效,取消这个注解,那么这个功能也就没了,功能描述完了,接下来我们看看代码实现:首先定义一个配置...

2020-01-14 23:16:16 165

原创 spring 事件监听原理

首先我们看看在Spring如何实现自定义事件监听,首先定义事件:public class MyEvent extends ApplicationEvent { public MyEvent(Object source) { super(source); }}然后定义一个事件监听器,注意监听器需要交给容器管理,所以需要标注@Component注解@Componentp...

2020-01-14 17:59:39 1712

原创 SpringBoot自动配置

SpringBoot提供了自动配置功能,这样可以让我们更加专注的做我们关注的业务逻辑,而不必过多的去考虑哪些在使用Spring的时候需要考虑的各种配置,例如我们在使用spring webmvc的时候,提供下边这样一段代码,然而,这段代码对于所有使用Spring webMvc而言,基本属于通用,也就是我们添加一个有关webmvc的模块就需要提供这样一段代码,所以springboot有一次做了封装,提...

2020-01-14 12:05:11 630

原创 Spring webmvc 请求处理流程

Spring webmvc 请求处理流程这是网上找的一张图片,现在大家也都认为这个流程是没有问题的,但是我这几天跟了一遍源码,发现这个图片并不完全,里边简化了很多东西,而且这个图只是其中一种情况,还有一种情况没有描述,下边是我的处理流程其实大体流程是没有问题的, 下边我主要描述区别1.我添加了filter部分,不过这部分可以说是servelt的,所以大家的图中没有画出来也没有什么问题2...

2020-01-08 16:16:22 424

原创 java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type '*'

Spring webMVC 使用FastJsonHttpMessageConverter时出现如下异常该怎么处理? java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type '*' at org.springframework.util.Assert.isTrue(Assert.java:118)...

2020-01-08 11:38:50 10030 2

原创 Spring webMvc环境准备问题

网上找到spring webmvc的资料都是管理请求流程,没有整应用环境初始化流程,这几天正在看Spring webmvc的源码,所以就想知道使用spring webmvc的时候, 整个环境是怎么初始化的,下边我会采用问答的方式解决我在这个过程中关注的一些问题先来看看请求处理流程:1.其实这个流程大家基本都知道,可是我想知道的是既然是Spring webmvc,那么applicationCo...

2020-01-06 18:17:02 331

原创 intellij编译Spring遇到的问题

编译过程:问题:工具版本?ieda: intellij 2019.1.3 【使用intellij2019.3.1编译会出现问题】gradle: 4.10 【gradle版本过高或过低都可能有问题】jdk: 1.8.0_181 【jdk版本至少是1.8,但是某些版本可能存在问题】spring: 5.20问题:spring编译顺序?首先编译spring-oxm,然后再编写Spring-c...

2020-01-04 22:22:44 842

原创 spring DenpendOn循环依赖判断原理

循环依赖存在一下几种情况:​ @DenpendOn 循环依赖​ 构造器参数循环依赖​ @Autowire这样的属性依赖今天主要说说@DenpendOn循环依赖的判断,spring首先解析出@DependOn所提供的直接依赖,然后通过嵌套查询的方式判断是否存在依赖循环,下边我们通过问答的方式来分析判断原理问题:spring在什么时候解析@DependOn,存储这些直接依赖的需要解析注...

2020-01-01 11:30:34 1847

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除