`
fruwei
  • 浏览: 14072 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表

Hystrix入门

      大多数分布式服务的调用是http或者Rpc请求进行访问,在项目中使用了http作为通信方式,通常http访问具有很多不确定因素,除了服务异常、常常还有网络或者业务引起的超时等问题(网络连接慢、资源繁忙、暂时不可用、服务脱机)。如果在web请求处理线程中直接进行http访问,在异常或者超时发生时,将会严重影响服务器的请求处理性能。当然我们可以自己封装服务调用,通过future等模式来实现服务的异步调用。Hystrix则为我们服务调用变的更安全可控,服务调用过程是在hystrix管理的线程池中,因此使得服务调用过程与web线程能隔离开,保证服务器的稳定,同时hystrix将不同的业务调用 ...
Zookeeper & Curator 服务注册 curator是最简单的Zookeeper客户端 Curator主要组件 Recipes   (扩展:包括分布式锁、队列、选举等) Framework  (框架) Utilities  (工具) Client (客户端) Errors  (错误处理) 另外Curator提供了一些扩展库,比如用于 ...
对于三种常见的并发情况的简单分析: 1.高并发低耗时 2.低并发高耗时 3.高并发高耗时   先说高并发低耗时,由于线程运行时间很短,为了能够大量的支持并发可以使用newCachedThreadPool这种线程池。高并发的情况如果没有大量线程支撑的话,必定需要一个很大的阻塞队列来缓存任务,这样就导致任务有较长延时。当然也有人会说线程很多的话也会导致系统开销很大,的确是这样,所以这种时候就要做负载均衡将并发量拆解分散到各个节点。   对于低并发高耗时,在http://ifeve.com/里面有个面试的回答分析的很好。高耗时是要看是CPU耗时还是IO耗时,如果是CPU耗时线程数通常解决不了太多的问 ...
单例模式是一个很常用的创造型模式,其主要目的是控制生成对象的唯一性。在java中实例化对象的方法主要通过new(还有反射、clone等,本篇不讨论)。为了限制new方法的使用,首先要将单例类的构造函数设置为private,如此客户端就无法直接调用构造函数来new对象了。    下图是单例模式的一个简单类图: 通过静态方法getInstance获取对象实例,一种方式是通过static初始化模块来实例化这个单例对象,这种方式在该类被加载时实例,由于类的初始化过程是唯一的所以这种单例模式也是线程安全的。 public class OneClass { private static OneCl ...
在数据库应用编程中,通常为了修改语句的执行效率会将数据库的自动提交模式关闭,然后采用事务的方式提交更改。然后问题就来了,下面是一段被精简的程序,用的是Mysql C API: MYSQL *conn=mysql_init(NULL); mysql_real_connect(c ...
Global site tag (gtag.js) - Google Analytics