- 博客(24)
- 资源 (11)
- 收藏
- 关注
原创 Dubbo学习(七):服务的升级和降级
1.开关 先讲一下开关的由来,例如京东在6月18日做店庆促销活动,在交易下单环节,可能需要调用A、B、C三个接口来完成,但是其实A和B是必须的,C只是附加的功能(例如在下单的时候做一下推荐),可有可无,在平时系统没有压力,容量充足的情况下,调用下没问题,但是在类似店庆之类的大促环节,系统已经满负荷了,这时候其实完全可以不去调用C接口,怎么实现这个呢?改代码?no,no,no,这
2016-03-31 16:40:44 15306 3
原创 Dubbo学习(六):多注册中心
1.多注册中心 多注册中心是指同一个服务消费者,可以连接两个不同的服务注册中心,不同的服务注册中心中可以提供同一个服务的不同实现版本2.3.示例 dubbo.xml中的配置,US和China两个注册中心是引用不同的接口实现类,实现的接口是一样的,但是实现的内容有所不同
2016-03-25 15:10:18 3072 1
原创 Dubbo学习(四):集群容错
1.什么是集群容错 是指在一个服务下去暴露多个provider(即同一个服务有多个服务提供者支持),可以有任何一个provider宕机,不影响服务的正常提供。 2.dubbo具有自动注册和自动发现的功能
2016-03-25 11:05:08 2894
原创 Dubbo学习(三):启动时检查
1.什么是启动检测 就是在启动spring的时候需不需要去检查当前引用的服务可不可用2. <dubbo:reference id="demoService" interface="com.baizhi.service.IDemoService" protocol="dubbo" check="false" />
2016-03-24 23:27:56 2782 2
原创 Dubbo学习(二):dubbo中的注意事项
1.dubbo启动后会在zookeeper中注册,注册是一服务的接口名来命名的 <dubbo:service 这个是注册服务地址 ref="demoService" interface="com.baizhi.service.IDemoService" protocol="dubbo" /> <dubbo:reference
2016-03-24 23:06:55 5657 3
原创 RPC学习(二):RPC的原理分析
1.RPC的大致工作原理: 分为1.服务的提供者(生产者), 2.服务的调用者(生产者) 3.服务的提供者和调用者,都要用到的接口 4.RPC框架 服务的提供者实现接口中的方法,服务的调用者引用同一个接口, 1).服务的调用者会把要调用的接口和方法,还有参数,传递给RPC框架,
2016-03-24 20:41:32 1207
原创 RPC学习(一):RPC的基础
1.RPC的概念 远程过程调用(RPC)是一个协议,程序可以使用这个协议请求网络中另一台计算机上某程序的服务而不需知道网络细节, RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。3.RPC的模型C/S模式基于传
2016-03-23 16:36:56 3561 1
原创 Zookeeper学习(十一):ZooKeeper 实现命名服务
1.命名服务命名服务可以理解为提供名字的服务Zookeeper的命名服务,有两个应用方向: 1.提供类似JNDI的功能: 利用zookeeper中的树形分层结构,可以把系统中的各种服务的名称,地址以及目录信息存放在zookeeper中,需要的时候去zookeeper中去读取 2. 利用zookeeper中的顺序节点的特性
2016-03-21 15:18:51 4967
原创 Zookeeper学习(九):ZooKeeper 实现分布式锁
1.什么是分布式锁 一般的锁:一般我们说的锁是但进程多线程的锁,在多线程并发编程中,用于线程之间的数据同步,保护共享资源的访问 分布式锁:分布式锁指的是在分布式环境下,保护跨进程,跨主机,跨网络的共享资源,实现互斥访问,保证一致性2.分布式锁的架构图3.分布式锁的算法流程
2016-03-21 11:25:33 2646
原创 Zookeeper学习(八):Zookeeper的数据发布与订阅模式
1.发布订阅的基本概念 1.发布订阅模式可以看成一对多的关系:多个订阅者对象同时监听一个主题对象,这个主题对象在自身状态发生变化时,会通知所有的订阅者对象,使他们能够自动的更新自己的状态。 2.发布订阅模式,可以让发布方和订阅方,独立封装,独立改变,当一个对象的改变,需要同时改变其他的对象,而且它不知道有多少个对象需要改变时,可以使用发布订阅模式
2016-03-20 19:48:00 14799 4
原创 (java并发)ScheduledThreadPoolExcutor
1.用timer缺点非常大Timer 的优点在于简单易用,但由于所有任务都是由同一个线程来调度,因此所有任务都是串行执行的,同一时间只能有一个任务在执行,前一个任务的延迟或异常都将会影响到之后的任务。我们关于定时/周期操作都是通过Timer来实现的。但是Timer有以下几种危险a. Timer是基于绝对时间的。容易受系统时钟的影响。 b. Timer只新建了一个
2016-03-20 17:46:00 7690 1
原创 Zookeeper学习(五):ZKClient的使用
1.创建会话public class createSession { public static void main(String[] args) { //zk集群的地址 String ZKServers = "192.168.30.164:2181,192.168.30.165:2181,192.168.30.166:2181"; /** * 创建会话 * n
2016-03-19 23:22:02 25296 3
原创 Dubbo学习(一):dubbo的基本概念
一.ZooKeeper选举1.什么是SOA 就是将以前写的模块单独的抽取出来,成为一个独立的应用,独立的服务运行,不依赖与其它模块 好处:1.解耦合,更高层次的解耦合 2.高度的业务服务复用 3.解决信息孤岛问题,有利于数据的统一整合2.高性能系统系统间通信,不使用WebService
2016-03-19 11:29:28 7914 4
原创 Zookeeper学习(四):选举及数据一致性
一.ZooKeeper选举1.ZAB协议 2.服务器角色2.服务器状态3.集群通信4.ZK选举的触发时机5.影响成为leader的因素
2016-03-18 22:21:53 2079
原创 Zookeeper学习(三):Zookeeper的基础进阶
一.Znode1.znode节点2.临时节点二.watcher的工作机制1.watcher的作用2.watcher的组成和机制 3.watcher的java接口4.watcher中的事件5.watcher的
2016-03-18 10:16:48 2132
原创 Kafka学习(四):Kafka的安装
1.下载 http://kafka.apache.org/downloads.html2.解压 tar -zxvf kafka_2.10-0.8.1.1.tgz
2016-03-17 14:57:35 1131
原创 Kafka学习(三):Kafka的内部机制深入(持久化,分布式,通讯协议)
一.Kafka的持久化1.数据持久化: 发现线性的访问磁盘(即:按顺序的访问磁盘),很多时候比随机的内存访问快得多,而且有利于持久化; 传统的使用内存做为磁盘的缓存 Kafka直接将数据写入到日志文件中,以追加的形式写入2.日志数据持久化特性: 写操作:通过将数据追加到文件中实现 读操作:读的时候从文件中读就好了
2016-03-16 15:58:41 9144 1
原创 Kafka学习(二):Kafka的基本结构和概念
一.Kafka的逻辑架构 注: 当一个Topic中消息过多时,会对Topic进行分区处理,把消息分到不同的Partition中。 为什么要分区: 是为了对大量的数据进行分而治之,把数据分区,不同的Consumer可以消费不同分区的数据,不同Consumer对数据的消费可以做成并行的,这样可以加快数据处理的速
2016-03-15 18:14:43 12393
原创 Kafka学习(一):Kafka背景及架构介绍
一.Kafka简介 Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企业消息系统
2016-03-14 19:51:54 3148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人