自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 zookeeper

集群下分配集群干活监听实现群体通知loading…

2020-06-22 21:31:34 148

原创 maven 版本统一管理

jar包杂多,版本混乱,难免在项目中出现jar包冲突。特别是在jar包升级之后,如果升级的jar包牵扯到其他的jar包升级,非常容易带来jar包冲突。对基础jar包进行统一管理是非常有必要的。一方面解决复杂的依赖关系,另一方面便于升级,便于管理。常用的maven标签optionaloptional表示为true表示这个jar只给自己使用。jar被工程引用时候,被标识了optional为true的jar不会被引用给工程。即,这个依赖仅在自己jar中生效。<dependency>

2020-06-18 22:46:13 757

原创 docker-compose搭建 Redis Sentinel哨兵模式 + 集群

前言: 本来是打算在一个机器里边全给搭了的。由于docker的特性,同一个机器搭建这个集群,sentinel给了我一个docker容器内部的ip,在windows中无法直接访问他给的内部ip,所以最后弄了两个centos环境搭建。目前有两个centoscentos1 192.168.32.129放置1个redis的master节点放置sentinel集群centos2 192.168.32.133放置两个slave节点centos1 master节点version: '3'se

2020-05-21 22:43:06 443

原创 Docker-compose的command参数

docker-compose的参数command…

2020-04-25 00:29:07 13164

原创 JSR303 数据校验 和 顺序校验

JSR303 数据校验 和 顺序校验

2020-04-21 22:41:39 779 1

原创 HTTP和HTTPS

HTTP和HTTPS.

2020-04-14 10:07:24 193

原创 MySQL 索引

索引的原理选择适合创建索引的字段聚合索引最左前缀匹配选择

2020-04-13 18:46:29 108 1

原创 Rabbitmq 配置死信队列

Rabbitmq 配置死信队列消息有三种情况会成为死信TTL(time to live)时间超出,消息过期队列达到了最大设置长度(x-max-length),超出的消息成为死信被nack并且未设置重回队列的消息,或者重新投递到了最大次数死信队列的配置定义死信队列单独的exchange,将需要监听死信消息的队列绑定到这个exchange上,...

2020-04-12 15:14:30 1801

原创 XXL-JOB 分片广播

任务路由策略除了分片广播,其他的路由策略都很容易看出来策略的实现方式。分片广播策略下,有两个很重要的数据分片总数和当前分片数分片总数:任务集群中任务服务的数量当前分片数:当前的下标,同一片任务机器中,这个数字都不一样。使用作者提供的demo ,看看 /** * 分片广播任务 */ @XxlJob("shardingJobHandler") ...

2020-04-11 23:45:57 13113 5

原创 XXL-JOB 分布式任务调度平台

XXL-JOB 分布式任务调度

2020-04-09 11:33:01 210

原创 RabbitMQ__消息投递/消费 问题

保证消息不被重复消费(保证消息消费的幂等性)保证消息的可靠性传输(消息丢失的问题)保证消息的顺序性解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理有几百万消息持续积压几小时怎么解决...

2020-04-08 20:26:46 211

原创 Sonar进行Java代码质量分析

Sonarqube安装之前安装过Sonarqube8.0版本。当时装的时候挺难受的。JDK需要11;连接Mysql数据库报错一直没处理好,最后换成postgresql数据库菜换成功。现在我这里有安装好的sonar服务,不说怎么安装了。如果要装sonar服务可以试试docker安装,应该会比下载安装便捷很多。进行Java代码分析有了Sonar服务之后,我们只需要对代码进行执行分析就可...

2020-04-02 18:24:46 901 1

原创 SpringCloud gateway

主要来自官方文档。以及项目总结。Spring WebFlux 是一个异步非阻塞式的 Web 框架,它能够充分利用多核 CPU 的硬件资源去处理大量的并发请求。filterspring: cloud: gateway: routes: - id: add_request_header_route uri: https://exampl...

2020-04-02 00:41:01 1268

原创 Mysql数据库乱码解决

高效的解决办法项目中新增到mysql数据库的数据乱码了1、确认后台获取到的数据没有乱码。(或者说入库的数据本身是没有乱码的)2、确认数据库编码 use tableName; show variables like 'character_set_database'; 查看一个表的编码 show create table tableName; 我们使...

2020-04-01 13:58:37 159

原创 SpringCache使用

Spring为我们提供了工具解决缓存和数据库数据同步的问题。结合项目中使用和参考 https://www.jianshu.com/p/6db623355e111、引入jar <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo...

2020-04-01 11:37:19 165

原创 Linux 命令

文章:记录一下实用、常用并且容易被忘记的命令。永久设置别名vi ~/.bashrc

2020-03-31 15:19:24 137

原创 SpringCloudConfig + Bus总线

SpringCloud Config的作用是,将微服务每个微服务中applicatino.properties配置数据抽取一部分到一个集中的配置中心。实现对微服务重要参数的统一管理。SpringCloud Config能够为我们实现以下功能:1、配置剥离,便于统一管理微服务繁杂的配置文件2、实时更新配置。如果配置中心的文件的环境变量发生了变化,可以实时更新3、支持将配置保存到git中,...

2020-03-30 22:39:29 170

原创 【BloomFilter】使用

BloomFilter 布隆过滤器比较适合在高并发或大数据下的数据状态判断。比如缓存穿透下,大量的请求走过redis后发现无数据,又一起奔向数据库,DB会有直接挂掉的可能。重点是,这种情况下数据库其实也没有数据,这些请求完全没必要走到数据库这一层。我们可以将可能存在的数据id或其他标识存入BloomFilter中,请求之后先通过BloomFilter确定是不是可能存在的数据。如果是存在,再...

2020-03-29 00:57:21 618 1

原创 重写了equals,还得重写hashCode

最典型的场景是针对HashMap在重写equals和hashCode之前@Slf4jpublic class Oliver { public static void main(String[] args) { Map<People,String> pmap = Maps.newHashMap(); People p1 = new Peop...

2020-03-26 11:14:56 99

原创 【Lock】ReentrantLock代码解析

ReentrantLock公平锁和非公平锁ReentrantLock 默认是非公平锁,声明的时候传入参数true会得到一个公平锁。package com.tangzq.bootconcurrent.lock;import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.concurren...

2020-03-24 10:39:54 190

原创 Springcloud 集成Zipkin 实现链路追踪

Zipkinzipkin是Twitter的一个开源项目,它基于Google Dapper实现。我们可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的REST API接口来辅助我们查询跟踪数据以实现对分布式系统的监控程序,从而及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的根源。除了面向开发的API接口之外,它也提供了方便的UI组件来帮助我们直观的搜索跟踪信息和分析请求链路明...

2020-03-18 11:31:29 373

原创 Docker创建nexus私服

本来是想下载一个windows版的nexus3.0+搭建在阿里云的windows上的。结果官方的安装包一直下不下来… 好不容易其他途径下载了一个结果又跑不起来…拉取nexus镜像docker pull docker.io/sonatype/nexus3 创建docker-compose.yml 并编辑version: '3'services: nexus: ima...

2020-03-16 20:17:54 183

原创 介入Spring Bean的生命周期

BeanPostProcessor 接口public interface BeanPostProcessor { @Nullable default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean;...

2020-03-16 13:21:05 261

原创 springcloud oauth2授权码模式和密码模式

微服务下使用SpringCloud oauth2做授权和认证使用oauth2之前授权:授权服务器完成鉴权:使用AOP根据登录用户信息完成权限判断登录验证:在网关判断token存在与有效性,如果是白名单url(不需要登录的URL)以访问服务器中的文件服务未例子:...

2020-03-16 00:01:07 1377

原创 记录一次防火墙导致Feign调用失败

Feign突然调用失败,而且,是大批量的失败!!走不出去,服务之间调用也全time out。第一反应是,看了一眼计算机的Hosts,似乎没啥问题。第二下,看了服务名,看了注册中心,该在的都在,也都对…第三下,单独访问被调用的服务,调用成功了似乎不应该出问题啊!然后再次尝试通过网关访问服务时,看到了一句:192.168.32.1:8666/auth/login Connection t...

2020-03-11 22:31:21 481

原创 Jenkins执行远程主机Shell,提示‘命令不存在'

Jenkins执行远程主机Shell,提示‘命令不存在’场景解决办法场景我在Centos主机上安装好Maven,并且配合好了环境变量。通过mvn -version ,也能看到版本然而使用Jenkins的publish over ssh 插件在访问这个主机执行到mvn clean install的时候,遇到了问题mvn这个命令与其他的命令最大的不同就是,mvn配置于/etc/profi...

2020-01-13 18:14:35 719

原创 Springboot打包后读取不到文件

SpringBoot部署后文件找不到的问题项目引用了一个xml作为模板本地访问文件的时候使用的方式比较直接Document document = reader.read(ResourceUtils.getURL("classpath:").getPath() + "xmlTemplate.xml");直接访问classpath下的xmlTemplate,这种方式在本地能取到文件,但是项...

2019-10-24 14:59:11 2266

原创 观察者模式和事件监听机制实现

Java中的观察者模式JDK提供的观察者和被观察者欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导...

2019-10-21 16:05:04 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除