![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 79
我在阳澄湖畔吃炸鸡
这个作者很懒,什么都没留下…
展开
-
zookeeper内部原理
文章目录一、请求,事务和标识符二、群首选举三、Zab:状态更新的广播协议四、观察者五、本地存储一、请求,事务和标识符zookeeper在本地处理只读请求(exists、getData和getChildren)因为服务器会在本地处理请求,那么此时zookeeper处理只读请求,那么它的性能就会很高。而那些会改变zookeeper状态的请求,将会被转发给群首,群首执行响应的请求,并形成状态的更新,我们称之为事务。当群首产生了一个事务,就会为该事务分配一个标识符,我们称之为zookeeper会话ID(zxi原创 2021-06-18 21:40:16 · 134 阅读 · 1 评论 -
zookeeper注意事项
文章目录一、使用ACL1.内置的鉴权模式2.SASL和kerberos二、恢复会话三、顺序性保1.连接丢失时的顺序性2.同步API和多线程的顺序性3.同步和异步混用的顺序性一、使用ACL对于zookeeper,开发人员往往负责访问控制的权限,而不是管理员。这是因为每次创建znode节点,必须设置访问权限,而子节点并不会继承父节点的访问权限。访问权限的检查是基于每一个znode节点的。zookeeper通过访问控制表来控制访问权限。一个ACL包括以下形式的记录:schema:auth-info。zoo原创 2021-06-18 13:50:48 · 219 阅读 · 0 评论 -
curator增删改查以及监视
文章目录一、Curator二、引入依赖二、增删改查前言代码可以看这个https://gitee.com/song_mengyu/Example/tree/master/Project/Zookeeper-Curator-Demos我的仓库一、CuratorCurator是zookeeper的一个高层次封装库,为开发人员封装了zookeeper的一组开发库,它的核心目标就是为你管理Zookeeper的相关操作,将连接的复杂性隐藏起来。Curator为开发人员实现了一组常用的操作管理的菜谱,同时结合原创 2021-06-17 19:12:06 · 180 阅读 · 0 评论 -
docker安装zookeeper
首先docker search zookeeper我们选择官方的,所以接下来下载镜像docker pull zookeeper然后运行 docker run -d -p 2181:2181 --name myzookeeper --restart always zookeeperdocker ps可以看到然后我们进入容器内开启一个client试一下能不能用docker exec -it myzookeeper bash然后输入命令开启一个客户端./bin/zkCli.sh结原创 2021-06-16 17:57:36 · 1491 阅读 · 0 评论 -
了解Zookeeper
文章目录一、Zookeeper概述二、Zookeeper基础1.API2. znode的不同类型3.监视与通知,4.版本三、Zookeeper架构1.zookeeper仲裁2. 会话一、Zookeeper概述ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。关于zookeeper 这样的系统功能的讨论都围原创 2021-06-16 14:22:01 · 119 阅读 · 0 评论 -
RabbitMQ虚拟主机
文章目录一、介绍二、创建三、代码四、结果一、介绍每一个RabbitMQ服务器都能创建虚拟的消息服务器,我们称之为虚拟主机(virtual host),简称vhost.每一个vhost是一个独立的小型服务器,拥有自己独立的队列,交换器等。它拥有自己独立的权限。vhost之于这个RabbitMQ服务器就像虚拟机于物理服务器一样。它能将众多客户分割开来,又可以避免队列和交换器等的命名冲突。vhost之间是绝对隔离的。通常来讲,默认的vhost名字是"/".二、创建使用命令行模式rabbitmqctl原创 2021-06-11 10:06:06 · 1293 阅读 · 0 评论 -
RabbitMQ的TTL和死信队列
文章目录前言一、TTL2.死信队列3.结果前言代码可以在 我的仓库里找到https://gitee.com/song_mengyu/Example/tree/master/Project/rabbit-ttl一、TTLTTL ,Time to Live,过期时间,rabbitMQ可以对消息和队列设置。设置类package com.my;import org.springframework.amqp.core.Queue;import org.springframework.beans.fa原创 2021-06-10 16:45:23 · 310 阅读 · 0 评论 -
RabbitMQ备份交换器
文章目录一、介绍二、配置三、代码部分三、结果一、介绍备份交换器,英文名字为Alternate Exchange, 简称AE。我们知道有这样一个参数,mandatory。当这个参数为false时,如果投放消息时没有找到指定的路由键,消息就会直接丢弃。而当这个参数为true时,如果消息不会直接丢弃,而是将其返回生产者,而这样需要在生产者里添加一些代码。我们不想复杂生产者的编程逻辑,同时又不想消息丢失就可以使用AE。二、配置 <dependencies> <depen原创 2021-06-10 12:20:19 · 158 阅读 · 0 评论 -
RabbitMQ 发送接受确认与mandatory参数
文章目录前言一、 配置一、发送确认三、上节的修改三、消费者确认前言代码什么的在我的仓库里都有https://gitee.com/song_mengyu/Example/tree/master/Project/rabbit-ack-test一、 配置<dependencies> <dependency> <groupId>org.springframework.boot</groupId>原创 2021-06-09 19:05:02 · 753 阅读 · 0 评论 -
RabbitMQ六种模式
文章目录前言一、配置一、Hello World1.生产者2.消费者二、Work Queues1.生产者2.消费者三、Publish/Subscribe前言一、配置xml配置文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"原创 2021-06-08 17:13:56 · 3526 阅读 · 0 评论 -
RabbitMQ开发向导
文章目录前言一、Queue二、Exchange前言其实通过之前讲的入门知识还有示例,大概就能了解怎么进行开发,这里大概对其中的一些配置进行分析吧。一、Queue首先我们看Queue类的代码public class Queue extends AbstractDeclarable { public static final String X_QUEUE_MASTER_LOCATOR = "x-queue-master-locator"; private final String n原创 2021-06-06 18:41:56 · 247 阅读 · 1 评论 -
RabbitMQ入门
文章目录一、相关概念介绍1.生产者和消费者2.队列3.交换器、路由键,绑定4.交换器类型5.RabbitMQ运转流程二、AMQP协议介绍一、相关概念介绍RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的。它整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。1.生产者和消费者Producer:生产者,就是投递消息的一方。消息包含消息体和标签两个部分。消息体也可称为payload, 一般是带有逻辑原创 2021-06-03 22:57:46 · 150 阅读 · 0 评论 -
【RabbitMQ】第一个SpringBoot应用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-06-03 10:00:05 · 124 阅读 · 0 评论 -
RabbitMQ安装(ubuntu)
文章目录前言一、直接安装前言一、直接安装首先得安装erlangsudo apt-get install erlang这样在我这个时间点安装的是20.0的版本,而官网已经出到24了,想要安装很复杂,我也尝试过,失败了。不过20.0也能使就这样吧。然后安装rabbitmqsudo apt-get insatll 启动、停止、重启、状态rabbitMq命令sudo rabbitmq-server startsudo rabbitmq-server stopsudo rabbitmq-se原创 2021-06-01 22:08:08 · 259 阅读 · 2 评论 -
Dubbo过滤器
文章目录一、过滤器概述二、原理1.初始化的实现原理2.AccessLogFilter2.ExecuteLimitFilter3.Context Filter4.ExceptionFilter5.TimeoutFilter6.TokenFilter7.TpsFilter一、过滤器概述Dubbo 中的过滤器和 Web 应用中的过滤器的概念是一样的 , 提供了在服务调用前后插入自定义逻辑的途径 。 过滤器是整个 Dubbo 框架中非常重要的组成部分 , Dubbo 中有很多功能都是基于过滤器扩展而来的 。 过原创 2021-05-30 16:44:21 · 306 阅读 · 0 评论 -
Dubbo 集群容错(2)
文章目录一、负载均衡1.Random 负载均衡2.RoundRobin 负载均衡3.LeastActive负载均衡4.一致性Hash负载均衡二、Merger的实现三、Mock一、负载均衡我们发现在很多容错策略中都会使用负载均衡方法 , 并且所有的容错策略中的负载均衡都使用了抽象父类 Abstractclusterinvoker 中定义的 Invoker select 方法 , 而并不是直接使用 LoadBalance 方法 。 因为抽象父类在LoadBalance 的基础上又封装了一些新的特性 :(1原创 2021-05-29 16:38:36 · 70 阅读 · 0 评论 -
Dubbo集群容错(1)
文章目录前言一、Cluster层概述二、容错机制的实现前言《深入理解Apche Dubbo与实战》 第七章笔记一、Cluster层概述可以将Cluster层看作一个集群容错层,该层中包含Cluster、Directory、Router、LoadBalance等几大核心接口。其中,Cluster层指的是对外的整个集群容错层;而Cluster是容错接口,提供Failover、Failfast等容错策略。Cluster层的总体流程如下:(1) 生成Invoke对象(2)获得可调用的服务列表(3)原创 2021-05-29 14:32:09 · 112 阅读 · 0 评论 -
Dubbo远程调用
文章目录前言一、Dubbo调用介绍二、Dubbo协议三、编码与解码四、Telnet调用原理前言Dubbo核心调用流程Dubbo协议详解Dubbo编解码器原理Telnet调用原理Dubbo线程模型一、Dubbo调用介绍假如手写简单的RPC调用,需要把调用信息传递到服务端,把方法参数等信息序列化传递到服务端,然后在服务端按照客户端的序列化顺序做一次反序列化来读取信息,然后拼装成请求对象进行服务反射调用,最终将调用结果返回给客户端。在Dubbo中调用基本类似。首先在客户端启动时会从注册中原创 2021-05-25 22:28:51 · 1604 阅读 · 0 评论 -
Dubbo启停原理
文章目录前言一、配置解析1.基于schema设计解析2.基于XML的配置原理 解析3.基于注解配置原理解析二、服务暴露1.配置承载初始化2.远程服务的暴露机制3.本地服务的暴露机制三、服务消费机制1.单注册中心消费2.多注册中心消费原理四、优雅停机原理解析前言《深入理解Apache Dubbo与实战》第五章Dubbo配置解析Dubbo服务暴漏原理Dubbo服务消费原理Dubbo优雅停机原理一、配置解析目前 Dubbo 框架同时提供了 3 种配置方式: XML 配置 、 注解 、 属性文件原创 2021-05-24 21:42:08 · 168 阅读 · 0 评论 -
Dubbo扩展点加载机制
文章目录前言一、加载机制概述1.Java SPI2.扩展点加载机制的改进3.扩展点的配置规范4.扩展点的分类与缓存5.扩展点的特性二、扩展点注解1.扩展点注解:@SPI2.@Adaptive3.@Activate三、ExtensionLoader的工作原理1.工作流程2.getExtension的实现原理3.getAdaptiveExtension 的实现原理4.getActivateExtension的实现原理四、扩展点动态编译的实现1.Javaassit 动态代码编译2.JDK动态代码的编译前言《深原创 2021-05-23 19:42:20 · 162 阅读 · 0 评论 -
《深入理解Apache Dubbo与实战》第三章的阅读笔记
文章目录前言一、注册中心概述1.简介2.工作流程二、Zookeeper注册1.原理2.发布/订阅三、Redis的注册四、缓存五、设计模式前言本文是《深入理解Apache Dubbo与实战》第二章的阅读笔记。第二章的主要内容是讲注册中心,书中主要围绕:1.注册中心的工作流程2.注册中心的数据结构3.订阅发布的实现4.缓存机制5.重试机制6.设计模式这几个部分讲解一、注册中心概述1.简介Dubbo通过注册中心实现了分布式环境中各服务之间的注册与发现。其作用如下:1.动态加入。一个服原创 2021-05-15 21:01:36 · 191 阅读 · 0 评论 -
《深入理解Apache Dubbo与实战》第二章阅读笔记
文章目录前言一、工程结构与依赖二、xml方式二、基于注解实现三、基于API方式前言《深入理解Apache Dubbo与实战》第二章阅读笔记,内容主要是通过xml,注解以及api的方式实现第一个dubbo程序。其中遇到了一些坑,比如依赖的配置,因为书上并没有介绍依赖的配置,本人花了一段时间才解决。一、工程结构与依赖总的结构如图所示,父工程是echo。echo-api里是服务的接口,echo-server,echo-client是使用xml方式的服务器与客户端。echo-server-annotat原创 2021-05-14 20:40:10 · 148 阅读 · 0 评论