- 博客(10)
- 资源 (11)
- 论坛 (4)
- 问答 (4)
- 收藏
- 关注
转载 分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性
2017-04-28 15:26:55
2402
原创 别让沉默埋没了未来
如今当我看到项目组内两位刚工作不久的小伙儿的状态对比,我才明白刚开始工作的两年为何一直没有放弃努力却始终进步缓慢。小伙儿A,刚来工时,技术能力水平一般,但勤于学习,善于发问。每当遇到自己不懂的问题都会过来请教,而且不是漫无目的的请教,每次都先自己做足了准备工作。他接手了别人的项目,项目中很多坑大家都是有目共睹的。而之前经手的人,都是通过遮遮掩掩的方式在坑上面盖上一层杂草、树枝从表面上把坑给填了,其实
2017-04-28 11:12:17
1076
2
原创 Curator之Master/Leader选举注意事项
上篇博客《Zookeeper开源客户端Curator之Master/Leader选举》介绍了Leader选举的使用方法。这边博客主要说明一下在分布式定时任务选举Leader执行的过程中需要考虑的事项。我们都知道,通过Leader选举可以选举出一台机器来执行定时任务。这里有两种选择:选出Leader之后,以后所有的定时任务都由此台机器执行。每次到执行Job的时候重新进行一次竞选,成为Leader者
2017-04-25 11:08:37
2713
2
原创 Zookeeper开源客户端Curator之Master/Leader选举
在实际生产中,特别是分布式系统中,我们经常遇到这样的场景:一个复杂的任务,近需要从分布式机器中选出一台机器来执行。诸如此类的问题,我们统称为“Master选举”。比如,在分布式系统中很常见的一个问题就是定时任务的执行。如果多台机器同时执行相同的定时任务,业务复杂则可能出现灾难性的后果。本篇博客就以定时任务为例来示例说明Curator的Master选举用法。原理利用zookeeper来实现Master
2017-04-19 21:52:48
11935
5
原创 Zookeeper之Watcher监听事件丢失分析
在上篇博客中,介绍了zookeeper客户Curator对监听事件的封装及应用——《Zookeeper开源客户端Curator之事件监听详解》在讲解部分代码实例的运行结果时我们已经注意到,并不是所有的监听事件都会发送到客户端。比如连续更改一个节点的内容、创建节点再马上删除节点。本篇博客就讨论一下zookeeper监听事件丢失的原因及使用时的注意事项。案例package com.secbro.lear
2017-04-17 10:43:09
12453
3
原创 Zookeeper开源客户端Curator之事件监听详解
Curator对Zookeeper典型场景之事件监听进行封装,提供了使用参考。这篇博文笔者带领大家了解一下Curator的实现方式。引入依赖对于Curator封装Zookeeper的典型场景使用都放在了recipes中。因此,使用之前需先引入此依赖。dependency> groupId>org.apache.curatorgroupId> artifactId>cur
2017-04-15 11:13:44
13082
7
原创 Intellj IDEA 设置默认maven版本
问题最近更新到新版本Intellij idea,发现maven的版本配置总是出现问题。idea默认带有两个版本的maven,再加上自己配置的maven版本,总共有三个版本。而每次启动时Intellij总是默认选择自带的Maven3。因本人把maven本地的仓库放置在了其他路径下。这样一来,每次启动都会在默认.m2目录下重新下载依赖jar包。同样的jar包出现了两份。 解决方案依次选择File,Ot
2017-04-13 10:19:40
28432
3
原创 Zookeeper开源客户端Curator之基本功能讲解
简介Curator是Netflix公司开源的一套Zookeeper客户端框架。了解过Zookeeper原生API都会清楚其复杂度。Curator帮助我们在其基础上进行封装、实现一些开发细节,包括接连重连、反复注册Watcher和NodeExistsException等。目前已经作为Apache的顶级项目出现,是最流行的Zookeeper客户端之一。从编码风格上来讲,它提供了基于Fluent的编
2017-04-07 08:25:15
10589
2
原创 Intellij idea Language level和Java Compiler版本自动变化问题
概述上篇文章Mysql事务锁等待超时,讨论了当Mysql数据被锁的原因及解决方法。为了从根本上了解和解决此类问题,此篇文章深入介绍一下Mysql的锁机制。简介Mysql的锁机制是不同的存储引擎支持不同的锁机制。大多数情况下,我们使用的是InnoDB存储引擎。它既支持行级锁(row-level-locking),也支持标级锁,默认情况下采用行级锁。Mysql不同锁特性3种锁机
2017-04-05 14:46:24
17233
3
原创 Zookeeper之开源客户端ZkClient
ZKClient是由Datameer的工程师开发的开源客户端,对Zookeeper的原生API进行了包装,实现了超时重连、Watcher反复注册等功能。ZKClient版本及源码maven依赖ZKClient目前有两个不同artifactId的系列。 其中最早的0.1版本maven依赖如下:dependency> groupId>org.apache.zookeep
2017-04-01 18:45:07
26540
5
二师兄-公众号-程序新视界的留言板
发表于 2020-01-02 最后回复 2020-01-02
sqlserver 2000 升级 sp3 问题
发表于 2011-03-01 最后回复 2011-03-02
Linux vi操作
发表于 2011-02-15 最后回复 2011-02-15
新手请教线程同步异步问题
发表于 2010-11-18 最后回复 2010-11-18
dubbo因服务器关闭导致本地启动抛异常
2015-01-08
两个Long类型相乘溢出怎么解决
2013-08-07
Maven打包替换类变量问题
2015-11-26
tomcat 配置 编码方式后,重新启动 配置还原
2012-12-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝