- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 k8s部署zk集群
参考官方例子制作zookeeper镜像(为了方便起见,下面用zk来统称zookeeper),由于业务的原因,需要替换掉基础镜像,并对官方的脚本作一定的简化。FROM registry.agree.com.cn/agree/afa/centos-net-tools2 ARG ZK_DIST=zookeeper-3.4.8ENV LANG=en_US.utf8 \ ...
2019-05-19 16:05:34
3229
原创 九评zookeeper
公司做了一版服务化框架,使用zookeeper作为注册中心,用来存储服务信息。 在使用的过程中,发现zookeeper有一些天生的缺陷。特此写一篇博客,记录踩过的坑,以警示后来者也。 以下内容基于zookeeper.4.8版本,在公司搭建的环境,数据不一定准确,但有一定的参考意义。 1.zookeeper的写效率非常低,在我点机器...
2019-05-19 15:55:05
1976
原创 负载均衡算法
负载均衡是分布式系统的常见功能,具有算法成熟,配置灵活,对系统性能有较大影响等特点。下面是目前比较流行的几种算法: a.Nginx负载均衡算法 总体思路:计算权重总和和找出最大权重,然后最大权重的被选择 被选择后最大权重减去权重总和,可以使得不会总选上最大权重,使得负载更加平滑。 自身权重加上和原始权重等比例的权重来模拟随机性。privat...
2019-05-19 15:38:05
264
原创 strong/soft/weak/phantom reference比较
1.strong reference 就是常见的引用,比如 String str = "hello world"; 其中,str就是strong reference,在可达性分析中,如果此实例不可到达,此时才会被jvm回收.2.soft reference 在jvm在抛出OOM之前会首先进行检查,如果soft reference实例没有强引用,那么会首先进行垃圾回
2017-11-03 17:39:13
359
原创 visitor模式
抽象数据类型包括数据,数据之间的关系,对数据的操作。 这种模式能够将操作和数据及数据关系分离,提供接口,让用户定制自己对数据的操作 //数据结构部分代码 public class MyDataStructure { private List<String> list = new ArrayList<String>(); private Set<String> se
2017-10-13 10:41:55
379
原创 责任链的三种实现方式比较
第一种方式: 实现handlerChain,handlerChain里面用一个列表保存所有的handler。 优点:直观。 缺点:只能顺序执行,前一个handler逻辑完全跑完了,再跑下一个逻辑。 例子如下: 第二种方式: 将handler链交给context保管,spring的责任链,web的listen
2017-06-19 11:45:54
2114
原创 动态维护执行时机
看到一段代码,能够动态维护执行时机,使之在大概的时间间隔里面 执行一次。比如一段代码不断运行,我需要在大概800毫秒的时间后执行一次异常操作。如果使用定时任务的方式是实现不了的,因为800毫秒的时候这段代码可能刚好没有执行到相应的地方,然后,”扑了个空”。废话少说,上代码。package cn.com.agree.afa.applog.util;/** * This class serves
2017-04-23 10:01:18
278
翻译 semaphore与mutexes的区别
在semaphore计数大于1的时候,关键不同点在于mutexes用于保护共享资源,而semaphorse用于线程间通信。semaphore用来保护几个相同的资源(资源相同并且只能被独占)是错误的用法。在semaphore计数等于1的时候,关键不同点在于semaphore可以由其它线程释放,而mutexes只能由申请它的线程释放。
2016-11-15 10:29:23
2871
原创 拜山头
csdn上的水友,码农,程序猿大家好,过去一直在csdn上潜水看技术博客,默默下载资源。csdn帮助了我很多,现在是时候写自己的技术博客了。希望能达到下面三方面的目标:记录自己的技术路线和感悟,博客内容对新手入门有一定的参考意义,锻炼自己的表达能力和提高英语水平^_^祝好~
2016-11-15 09:56:10
808
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人