03 2022 档案
Java客户端连接zookeeper
摘要:Java客户端连接zookeeper 导入依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.5.7</version> </dependency>
阅读全文
zookeeper监听器及写数据流程
摘要:zookeeper监听器及写数据流程 zookeeper监听器原理 首先要有一个main()线程 在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet),一个负责监听(listener) 通过connect线程将注册的监听事件发送给Zookeeper
阅读全文
zookeeper节点类型及节点常用命令
摘要:zookeeper节点类型及节点常用命令 节点类型 临时节点:客户端和服务器端断开连接后,节点被删除 临时顺序节点:Zookeeper给该节点名称进行顺序编号,客户端与 Zookeeper 断开连接后 , 该节点被删除 持久节点:客户端和服务器端断开连接后,创建的节点依旧存在 持久顺序节点:Zook
阅读全文
zookeeper选举机制
摘要:zookeeper选举机制 假设现在有5台服务器组成了zookeeper集群 第一次启动 服务器1启 动,发起一次选举。服务器1投自己一票。此时服务器1票数一票,不够半数以上(3票),选举无法完成,服务器1状态保持为LOOKING 服务器2启动,再发起一次选举。服务器1和2分别投自己一票并交换选票信
阅读全文
Linux搭建zookeeper集群
摘要:Linux搭建zookeeper集群 环境准备 准备三台虚拟机且安装好zookeeper,安装教程:https://www.cnblogs.com/Y-wee/p/15999940.html 分别修改三台虚拟机的hostname(修改/etc/hostname文件),笔者三台虚拟机主机名分别是:zo
阅读全文
seata基本使用
摘要:seata基本使用 官方文档:https://seata.io/zh-cn/docs/overview/what-is-seata.html seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务 一ID+三组件模型 Transaction ID XID:
阅读全文
sentinel基本使用
摘要:sentinel基本使用 随着微服务的流行,服务和服务之间的稳定性变得越来越重要 Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性 本地下载安装并启动sentinel 下载地址:htt
阅读全文
nacos基本使用
摘要:nacos基本使用 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html 根据官方文档在本地安装好nacos,启动并登录 以下案例基于spring cloud nacos,所以需要在父工程导入依赖: <dependency> <groupId>org
阅读全文
Spring Cloud Stream基本使用
摘要:Spring Cloud Stream基本使用 Spring Cloud Stream是一个构建消息驱动微服务的框架,可以屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型 应用程序通过inputs或者outputs来与Spring Cloud Stream中binder对象交互,通过我们配
阅读全文
OpenFeign简单介绍和基本使用
摘要:OpenFeign简单介绍和基本使用 简介 Feign是一个声明式WebService客户端,使用Feign能让编写Web Service客户端更简单 它的使用方法是定义一个服务接口然后在上面添加注解,Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持
阅读全文
Ribbon简介
摘要:Ribbon简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。就是在配置文
阅读全文
consul实现微服务注册
摘要:consul实现微服务注册 创建父工程 创建父工程,用于版本管理,修改pom文件:设置打包类型为pom、设置依赖管理(src文件可以删除) <packaging>pom</packaging> <properties> <project.build.sourceEncoding>UTF-8</pro
阅读全文
zookeeper实现微服务注册
摘要:zookeeper实现微服务注册 创建父工程 创建父工程,用于版本管理,修改pom文件:设置打包类型为pom、设置依赖管理(src文件可以删除) <packaging>pom</packaging> <properties> <project.build.sourceEncoding>UTF-8</
阅读全文
Linux安装zookeeper
摘要:Linux安装zookeeper 安装zookeeper之前需要安装jdk,确认jdk环境没问题之后再开始安装zookeeper 下载zookeeper压缩包,官方下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 将zookeeper压缩包拷
阅读全文
eureka自我保护机制
摘要:eureka自我保护机制 保护模式主要用于一组客户端和eureka server之间存在网络分区场景下的保护,一旦进入保护模式,erueka server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务 简而言之:某时刻某一个微服务不可用了,eureka不会立即
阅读全文
eureka-client入门案例
摘要:eureka-client入门案例 首先启动eureka-server服务,参考文档:https://www.cnblogs.com/Y-wee/p/14129138.html 创建eureka-client子项目,导入依赖 <dependencies> <!--eureka-client--> <
阅读全文
RestTemplate的简单使用
摘要:RestTemplate的简单使用 RestTemplate是httpclient的封装,提供了多种便捷访问远程Http服务的方法,是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集,类似于jdbcTemplate、redisTemplate 使
阅读全文
Maven中dependencyManagement和dependencies的区别
摘要:Maven中dependencyManagement和dependencies的区别 Maven使用dependencyManagement元素来提供了一种管理依赖版本号的方式,通常会在一个组织或者项目最顶层的父POM中看到dependencyManagement元素 使用pom.xml中的depe
阅读全文
Mock测试返回值为空的方法
摘要:Mock测试返回值为空的方法 要测试的类 @Service public class NirvanaDecorationLinesClassHistoryServiceImpl implements NirvanaDecorationLinesClassHistoryService { @Autow
阅读全文
Mock测试方法返回值是InputStream对象
摘要:Mock测试方法返回值是InputStream对象 下图是某个方法之中的代码片段,在测试这个方法时需要mock掉红色部分,为此我们构造一个InputStream对象 使用org.apache.commons.io.IOUtils可以非常方便地构造一个基于String的InputStream对象: I
阅读全文
springsecurity整合springboot实现记住我自动登录
摘要:springsecurity整合springboot实现记住我自动登录 springsecurity实现记住我自动登录原理:用户登录时将token通过cookie保存在浏览器同时插入数据库,下一次登录时会从浏览器获取token查询数据进行匹配,匹配成功则自动登录 编写配置类继承WebSecurity
阅读全文
springsecurity整合springboot实现自定义登录页面及访问路径权限配置
摘要:springsecurity整合springboot实现自定义登录页面及访问路径权限配置 编写配置类继承WebSecurityConfigurerAdapter,重写void configure(HttpSecurity http)方法 package com.yl.config; import c
阅读全文