摘要:
摘要:本文结合《Spring源码深度解析》来分析Spring 5.0.6版本的源代码。若有描述错误之处,欢迎指正。 前言 作为一名开发人员,阅读源码是一个很好的学习方式。本文将结合《Spring源码深度解析》来分析Spring 5.0.6版本的源代码,若有描述错误之处,欢迎指正。 Spring是20 阅读全文
摘要:
ZooKeeper官网提供了Java和C的API。 本文使用Java API来实现ZooKeeper的基本操作。 前言 下图中的Replicated Database是包含完整数据树(entire data tree)的内存数据库。ZooKeeper的节点都是存放在内存中,所以读写速度很快。更新日志 阅读全文
摘要:
本文转载自LDB's Blog,原文链接 ZooKeeper原理及其在Hadoop和HBase中的应用 目录 一、简介 二、基本概念 1. 集群角色 2. 会话(Session) 3. 数据节点(ZNode) 4. 版本 5. 状态信息 6. 事务操作 7. Watcher 8. ACL 三、Zoo 阅读全文
摘要:
本文转载自编程迷思,原文链接 深入学习Redis(3):主从复制 前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化。 在Redis的持久化中曾提到,Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题(从 阅读全文
摘要:
本文转载自编程迷思,原文链接 深入学习Redis(2):持久化 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis 阅读全文
摘要:
本文转载自编程迷思,原文链接 深入学习Redis(1):Redis内存模型 前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序 阅读全文
摘要:
telnet的介绍可以参看《java网络编程3》中有一段介绍telnet,我们可以理解为,telnet命令是通过socket协议与服务器端通信。Dubbo提供了telnet命令去查看服务功能。 这里主要介绍一下dubbo实现telnet命令的整体实现: 当服务器端接收到的消息类型是string的时候 阅读全文
摘要:
Dubbo作为一个分布式的服务治理框架,提供了集群部署,路由,软负载均衡及容错机制。下图描述了Dubbo调用过程中的对于集群,负载等的调用关系: 集群 Cluster 将Directory中的多个Invoker伪装成一个Invoker,对上层透明,包含集群的容错机制。 Cluster接口定义: Cl 阅读全文
摘要:
Refer取得invoker的过程 Spring加载每个<dubbo:reference/>标签的时候都会生成一个ReferenceBean。 如上图,ReferenceBean实现了Spring的FactoryBean接口,实现了此接口的Bean通过Spring的BeanFactory.getBe 阅读全文
摘要:
Export发布服务流程 Dubbo协议向注册中心发布服务:当服务提供方,向dubbo协议的注册中心发布服务的时候,是如何获取,创建注册中心的,如何注册以及订阅服务的,下面我们来分析其流程。 看如下配置发布服务: 每个<dubbo:service/>在Spring内部都会生成一个ServiceBea 阅读全文