摘要:
前言 为了更好的学习Zookeeper分布式配置中心,我们需要查看源码来研究他的实现逻辑。 搭建 第一步源码包下载 百度云链接:https://pan.baidu.com/s/19QOolORemxzzGntjIcFgqQ 提取码:7iei 第二步: 通过IDEA打开源码包,通过maven仓库进行依 阅读全文
摘要:
前言 学习RabbitMQ的时候了解到了阻塞队列(ArrayBlockingQueue,LinkedBlockingDeque,SynchronousQueue),那就一起来了解一下这些阻塞队列。 说明 阻塞队列提供了四种处理方法: 通过案例实现一个ArrayBlockingQueue的使用案例 p 阅读全文
摘要:
前言 Zookeeper是一个开源的分布式协调服务,Zookeeper的设计目标是将那些复杂且容易出错的分布式一致性封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。Zookeeper作为分布式架构的重要的一环,我们就来好好学习一下。先从搭建开始。 搭建 前提需要安装JDK 阅读全文
摘要:
前言 在现在微服务架构下,RabbitMQ也需要支持集群,保证高可用。 集群架构 1. 普通集群模式 1.1 主节点的队列,从节点是没有的。但是从节点可以看到。 1.2 消费者可以监听从节点,从节点会找主节点要消息。 1.3 Excahge是会主从同步的。 1.4 故障无法自动转移。 2. 镜像集群 阅读全文
摘要:
前言 RabbitMQ为什么会产生,能解决什么问题呢? 应用场景 1. 异步处理 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它 阅读全文
摘要:
前言 RabbitMQ单独使用的场景现在非常少,基本都是整合在Spring中,接下来我们就针对SpringBoot如何整合RabbitMQ进行说明 整合 1. 导入依赖包(Gradle) compile('org.springframework.boot:spring-boot-starter-am 阅读全文
摘要:
前言 安装完RabbitMQ之后,我们就来了解一下RabbitMQ的管理命令。 详情 第一条命令:帮助命令 rabbitmqctl help 第二条命令:插件管理 rabbitmq-plugins list 插件列表,enable启用插件,disable禁用插件,set重置插件。 管理界面 Rabb 阅读全文
摘要:
前言 研读ArrayList源码的时候,发现使用了(Spliterator)分割迭代器。就简单的了解一下分割迭代器的使用方式。 原理 看一个分割迭代器的使用案例: public class SpliteratorTest { public static void main(String[] args 阅读全文
摘要:
前言 在公司工作的过程中接触了RabbitMQ,觉得RabbitMQ的功能很实用,就想着自己好好了解一下这个中间件。了解系统先从搭建开始。 搭建 前提:Linux: Centos 7 1. 依赖erlang安装 执行命令: yum -y install gcc glibc-devel make nc 阅读全文
摘要:
前言 了解到JDK8对HashMap进行了优化,就一起了解一下JDK8的HashMap。 原理 1. 哈希表的原理 首先需要一张Hash表,Java通过数据实现:默认长度位16,并且。 第一步插入张三(哈希值11): 第二步插入李四(哈希值12): 第三步插入李磊(哈希值12): 从上图我们基本可以 阅读全文