自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (9)
  • 收藏
  • 关注

原创 没有超时和隔离差点引发的系统雪崩

记一次雪崩的发生过程

2017-06-03 11:30:34 3030 1

原创 ConcurrentHashMap的使用场景

在一次项目中,需要设计一个map存储线程资源池,为每种请求类型创建一个线程池。当该类型所对应的线程池中的所有线程都达到工作饱和状态,即是没有多余可用线程,则自动丢弃该类型的请求,以此来保证其他类型的请求不受影响。这中设计属于资源隔离中的线程池隔离,在微服务系统属于是很常见的场景。这种设计没什么难度,初始化一个成员变量map。当请求到达时,检查map中是否已经存在创建好的线程池即可,如果

2017-03-10 09:36:08 10753 1

原创 微服务利器--Hystrix的设计

微服务利器,高可用高并发系统组件

2016-12-14 18:18:12 2459 1

原创 【Hystrix权威指南四】Hystrix隔离策略源码分析二

微服务设计,高并发高可用系统组件

2016-12-14 18:16:49 1810

原创 【Hystrix权威指南三】Hystrix隔离策略源码分析一

微服务组件

2016-12-14 18:16:07 6882 1

原创 【Hystrix权威指南二】Hystrix隔离策略

微服务组件

2016-12-14 18:15:17 4264

原创 【Hystrix权威指南一】Hystrix开发之旅

构建高可用高并发系统必用组件

2016-12-14 18:14:21 2463

原创 如何设计一个支持高并发的高可用服务

如何设计一个支持高并发的高可用服务?在前期设计时应该从哪些方面入手?

2016-09-04 17:55:10 11185

原创 二、Hystrix隔离服务的实现原理---线程池隔离

Hystrix组件提供了两种隔离的解决方案:线程池隔离和信号量隔离。两种隔离方式都是限制对共享资源的并发访问量,线程在就绪状态、运行状态、阻塞状态、终止状态间转变时需要由操作系统调度,占用很大的性能消耗;而信号量是在访问共享资源时,进行tryAcquire,tryAcquire成功才允许访问共享资源。

2016-06-08 08:54:12 14969

原创 一、Hystrix的类是如何组织的

Hystrix 在Netflix 公司每天处理10+亿次的请求,内部原理是什么呢?

2016-06-08 08:52:46 1535

原创 设计模式--适配器、代理、装饰、外观模式的区别与联系

设计模式是为了提高代码的可扩展性可读性,在日常的需求中,逐步总结归纳出来的。是每个程序员都可以在工作中遇到的,用心去发现去理解才能真正的用到工作中,不要为了用而用。设计模式从功能上一般分为创建型、结构型、行为型 三种类型。本节要说的就是结构型中的四个模式的区别,先从定义(功能)上进行区别:定义:适配器:把一个接口转换成客户期望的类型;代理:为一个对象提供一个替身或者占位

2015-11-05 23:04:14 1355

原创 设计模式--外观模式

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

2015-11-03 23:01:14 543

原创 设计模式--适配器模式

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

2015-11-03 22:59:08 483

原创 设计模式之--装饰者模式

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

2015-11-02 23:18:45 614

原创 设计模式之--代理模式

设计模式乃开发利器,更是通往顶峰的必经之路.

2015-11-02 23:17:18 692

转载 Git clone RPC failed

错误展示:remote: Counting objects: 369, done.  efrror: RPC failed; result=56, HTTP code = 200  atal: The remote end hung up unexpectedly  fatal: protocol error: bad pack header  解决:

2015-09-02 22:05:10 1476

原创 Watcher实现机制之服务端处理

zookeeper实现内部逻辑

2015-06-29 23:16:50 807

原创 Watcher 实现机制之客户端注册

zookeeper 源码解析,内部逻辑实现

2015-06-29 23:15:02 1319 1

转载 windows 下 python tornado 配置

http://www.shaoqun.com/a/104542.aspx

2015-04-01 21:36:14 711

原创 sublime text2 配置python 环境

python 环境配置

2015-03-27 22:19:38 1053

原创 八、Redis 基础命令---管理--持久化--RDB

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2015-01-24 11:11:42 1224

原创 七、Redis 基础命令---任务队列

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2015-01-24 11:10:56 5546

原创 六、Redis 基础命令--有序集合

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2015-01-24 11:09:55 1638

原创 五、Redis 基础命令---无序集合

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2015-01-24 11:08:12 1227

原创 四、Redis基础命令--列表

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2015-01-24 11:06:32 971

原创 curator 锁之 Shared Reentrant Lock

1、描述共享锁:全局同步分布式锁,同一时间两台机器只能有一台获得锁2、参与类InterProcessMutex3、用法3.1 创建 InterProcessMutex 实例public InterProcessMutex(CuratorFramework client, String path)Para

2015-01-10 20:37:09 2874

原创 批量插入空行

批量插入空行 A_fengzi201412281、找一空白列,输入数字1,如:  2、选中数字1,待鼠标变填充状,下来鼠标,下拉到底端。  3、复制数字4次,出现5次重复数字。需要插入多少行空行,就重复N-1遍。如   4、选中新加的数字列,点击排序,选择升序。排序警告选择扩展选定区域。   5、点击排序即可。

2014-12-28 20:33:03 889

原创 Java并发之内存模型-JMM

发生线程安全性的时机: 变量存储在内存中,变量的计算是在CUP中。如果线程A要对变量a进行计算,需要经过三步:1)把变量a从内存中读取到CPU中,2)对变量a进行计算,3)把变量a写入到内存中。当线程A执行到第二步时,线程B也要对变量a进行计算,这时B从内存中读取到的值就是线程A写入到内存之前的值,脏数据就此产生了。

2014-11-29 23:25:14 957

原创 JVM GC 之二对象分配

JAVA运行时各个数据区域的苞丁解牛,JAVA对象的生死判定,JVM内存的清理,JAVA对象迁徙

2014-11-26 22:46:03 1322

原创 公平锁与非公平锁

在Java的ReentrantLock构造函数中提供了两种锁:创建公平锁和非公平锁(默认)。代码如下: public ReentrantLock() { sync = new NonfairSync(); } 在公平的锁上,线程按照他们发出请求的顺序获取锁,但在非公平锁上,则允许‘插队’:当一个线程请求非公平锁时,如果在发出请求的同时该锁变成可用状态,那么这个线程会跳过队列中所有的等待线程而获得锁。 非公平的Reentran

2014-11-23 15:40:48 2091

原创 JVM GC之一找出不可达对象并回收

JAVA运行时各个数据区域的苞丁解牛,JAVA对象的生死判定,JVM内存的清理,JAVA对象迁徙

2014-11-22 22:01:51 2677

原创 三、Redis基础命令--hash

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2014-11-12 17:01:42 1191

原创 二、Reids基础命令--字符串

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2014-11-12 17:00:36 850

原创 一、Redis 基础命令---总括

支持5钟数据结构,详细讲述每种数据结构的使用方式及优劣,内部实现。

2014-11-12 16:58:58 1809

原创 带有返回值的 Callable 使用

工作中很多涉及到多线程的地方都implemnets Runable 接口 或者是 extends Thread 抽象类,但是这样子的话得不到返回值。如果以下场景: 在多线程中计算值,线程结束后需要携带返回值。这时就需要Callable接口,实现改接口后需要实现方法 call 。改接口需要ExecutorService的submit方法执行,执行结果包装在 Future<?>泛型类中。通过Future类的get()方法取得返回值,get()是阻塞的,在线程执行前调用get()方法会一直阻塞着。

2014-10-09 18:24:10 1525

原创 多线程总结

一、 每一个线程实质上是一核处理器。二、 线程本地缓存就是处理器缓存。三、 避免数据同步的策略:使用ThreadLocal(spring singleton 实例)、不共享变量。四、 工作内存指的是线程本地内存。在程序运行时,有线程本地内存、主内存。

2014-10-09 18:23:52 1186 1

原创 单实例懒汉模式并包保证成功

单实例懒汉模式并不能保证一定成功

2014-09-13 11:57:49 993

原创 apache-cxf-2.2.4生成webservice客户端

1、首先下载apache-cxf-2.2.4

2014-07-16 15:22:42 2075 2

原创 北漂三年s

今天为止北漂三年了。。。三年前的今天也就是2011年的5月27日带着1000+和一张火车票和一个拉杆箱从南方跑到了北京。。。住了三个月的地下室半年多的筒子大杂物搬到了小区。。。跳了三次槽整体算是现在第三家公司吧。。。继续加油!

2014-05-27 23:12:06 1423 4

原创 Effective_java之二:慎用重载函数

overwrite与overload的区别,慎用overload

2014-05-24 01:21:12 1613

memcahe分析

各种缓存技术对比,memcache深度分析、使用 及技巧

2014-09-13

apache-cxf

apache-cxf-2.2.4 webservice 开发webservice 的工具类

2014-07-16

androidHttps服务器与客户端简单示例

androidHttps服务器与客户端简单示例

2012-12-26

百度文库免费下载器

百度所有文件资料均可下载 百度文库免费下载器 专门针对百度文库推出的特别版下载

2012-06-29

serlvet-api.jar servlet.jar

servlet.jar servlet-api.jar http协议的jar包

2012-06-29

log4j全能配置文件

log4j配置文件全部属性配置log4j模版

2012-06-28

sql2000 驱动包 jdbc odbc 驱动

sqlserver2000 驱动包 jdbc odbc 驱动 jar 三个jar包 msbase.jar ,mssqlserver.jar,msutil.jar

2012-06-28

TMF814_MTNM_IIS_R3-5_FULL

TMF814介绍最全的资料,中英文版,目前最前沿的TMF介绍资料,完整的解析了网络管理中的电信联盟技术

2012-01-17

corba 核心服务与研究实现

corba核心服务于研究 orb orm 组织

2012-01-17

空空如也

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

TA关注的人

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