自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

霓虹深处

对技术要始终保持敬畏之心!!!加油!

  • 博客(562)
  • 论坛 (1)

原创 Logback详解

简介Logback是SpringBoot内置的日志处理框架,你会发现spring-boot-starter其中包含了spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 logback。官方文档:http://logback.qos.ch/manual/SpringBoot默认Logback配置在我们启动SpringBoot,发现我们并没有主动去配置过任何和日志打印的相关配置,但是控制台却打印了相关的启动日志;因为SpringBoot为Logb

2020-09-13 21:58:57 93

原创 List集合中的多条数据,根据对象某个字段进行合并

创建Student类 @Data @AllArgsConstructor private static class Student { private Integer id; private String name; private Integer age; }方法一:通过java的map来实现 List<Student> list = new ArrayList<>();

2020-05-14 13:14:51 786

原创 9.介绍Spring Cloud Stream与RabbitMQ集成

介绍Spring Cloud Stream与RabbitMQ集成前言Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。在本文中,我们将通过一些简单的例子来介绍Spring Cloud Stream的概念和构造。Bindings — 声明输入和输出通道的接口集合。Binder — ...

2020-02-13 14:07:48 184

原创 8.RabbitMQ实现集群高可用

RabbitMQ实现集群高可用前言为什么搭建rabbitmq集群?rabbitmq集群有那些模式?如何搭建Rabbitmq集群?rabbitmq镜像高可用策略有那些?RabbitMQ这款产品本身的优点众多,大家最看好的便是他的异步化提高系统抗峰值能力,然后便是系统及功能结构解耦,既然它如此重要,那么我们就需要考虑它的高可用性。rabbitmq有3种模式:单一模式:即单机情况不做...

2020-02-13 14:04:46 119

原创 7.springboot2.x集成RabbitMQ实现消息发送确认与消息接收确认实现消息保障100%的投递

springboot2.x集成RabbitMQ实现消息发送确认与消息接收确认实现消息保障100%的投递前言消息如何保障100%的投递成功?幂等性概念详解在海量订单产生的业务高峰期,如何避免消息的重复消费的问题?Confirm确认消息、Return返回消息消息如何保障100%的投递成功?1.1 什么是生产端的可靠性投递?保障消息的成功发出保障MQ节点的成功接收发送端收到MQ...

2020-02-13 13:57:32 324

原创 6.Springboot2.x集成RabbitMQ实现消费者限流,手动ack确认

Springboot2.x集成RabbitMQ实现消费者限流,手动ack确认前言我们在实际项目中,可能在mq中积累了成千上万的消息,如果我们不进行限流,当我们打开消费者的时候一下子成千上万的消息一下子冲击过来,可能会造成服务器宕机,或者业务出现严重漏洞,所以我们需要进行消费者限流。首先我的springboot版本,springBootVersion = ‘2.2.1.RELEASE’。其他版本...

2020-02-13 13:50:36 840

原创 5.Springboot2.x集成Rabbitmq实现延时消费

Springboot2.x集成Rabbitmq实现延时消费前言比如我们在使用mq的时候并不希望立即收到消息,比如实现3分钟后再查询订单,这时候我们就需要使用延迟消息发送了。RabbitMQ如何实现迟队列?AMQP协议和RabbitMQ队列本身没有直接支持延迟队列功能。但是我们可以通过RabbitMQ的两个特性来曲线实现延迟队列:特性1、Time To Live(TTL)1.Rabbit...

2020-02-13 13:49:41 338

原创 4.Springboot2.x集成 RabbitMQ的几种常见用法

Spring Boot 集成 RabbitMQ的几种常见用法前言Spring Boot 集成 RabbitMQ 非常简单,如果只是简单的使用配置非常少,Spring Boot 提供了spring-boot-starter-amqp 项目对消息各种支持。引入依赖compile group: 'org.springframework.boot', name: 'spring-boot-star...

2020-01-15 20:04:50 253 2

原创 3.RabbitMQ的简单介绍

RabbitMQ的简单介绍前言RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层保存这个数据。AMQP,即Advanced Message Queuing Pr...

2020-01-15 20:04:20 115

原创 2.各大主流消息中间件综合对比介绍

各大主流消息中间件综合对比介绍前言消息队列已经逐渐成为企业系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。今天主要来介绍了下几大主流消息中间件的区别与联系。主流消息中间件——ActiveM...

2020-01-15 20:03:55 171

原创 1.RabbitMQ的环境搭建

RabbitMQ在Linux下安装前言由于RabbitMQ是建立在Erlang OTP平台上的,所以我们需要安装Erlang和RabbitMQ。我们可以使用yum方式安装,rpm方式安装,源码安装。这里我们采用rpm方式安装。RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注:Erlang环境一定要与RabbitMQ版本匹配:https://www.rabbitmq.co...

2020-01-15 20:02:02 71

原创 CSDN博客个人主页左侧栏添加微信二维码

栏目内容支持HTML格式,不支持JS,最多添加1个自定义栏目,VIP、博客专家、企业博客才可在个人详情页显示第一步:我们去公众号后台下载个人二维码保存在本地。第二步:发布一篇文章并贴上自己的二维码,然后把图片上传到csdn服务器,这时候我们就拿到图片路径了第三步:在个人博客主页选择顶部的“管理博客”,进到管理博客界面后,选择“博客模块设置”,编辑自定义栏目。第四步...

2019-12-11 17:59:59 112

原创 图床工具的使用---PicGo

前言所谓图床工具,就是自动把本地图片转换成链接的一款工具,网络上有很多图床工具,就目前使用种类而言,PicGo 算得上一款比较优秀的图床工具。它是一款用 Electron-vue 开发的软件,可以支持微博,七牛云,腾讯云COS,又拍云,GitHub,阿里云OSS,SM.MS,imgur 等8种常用图床,功能强大,简单易用下载地址:https://github.com/Molunerfinn...

2019-12-05 09:59:28 175

原创 RabbitMQ安装

RabbitMQ在Linux下安装前言由于RabbitMQ是建立在Erlang OTP平台上的,所以我们需要安装Erlang和RabbitMQ。我们可以使用yum方式安装,rpm方式安装,源码安装。这里我们采用rpm方式安装。RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注:Erlang环境一定要与RabbitMQ版本匹配:https://www.rabbitmq.co...

2019-12-04 15:10:50 98

原创 java中的PO、BO、VO、QO、POJO、DTO、DAO分别代表什么意思

PO:persistantobject持久对象BO:businessobject业务对象VO:valueobject值对象,ViewObject表现层对象QO:查询对象POJO:plainordinaryjavaobject简单java对象DTO:DataTransferObject数据传输对象DAO:dataaccesso...

2019-12-03 10:24:33 813

原创 springboot2.x集成RabbitMQ实现消息发送确认 与 消息接收确认(ACK)

前言首先看回调机制:消息不管是否投递到交换机都进行ConfirmCallback回调,投递成功ack=true,否则为false 交换机匹配到队列成功则不进行ReturnCallback回调,否则先进行ReturnCallback回调再进行ConfirmCallback回调 如果消息成功投递到交换机,但没匹配到队列,则ConfirmCallback回调ack仍为true我的spri...

2019-11-28 16:43:11 1817

原创 Springboot2.x集成Rabbitmq实现消费者限流,手动ack确认

前言我们在实际项目中,可能在mq中积累了成千上万的消息,如果我们不进行限流,当我们打开消费者的时候一下子成千上万的消息一下子冲击过来,可能会造成服务器宕机,或者业务出现严重漏洞,所以我们需要进行消费者限流。首先我的springboot版本,springBootVersion = '2.2.1.RELEASE'。其他版本配置差别都不大。首先看一下配置,这里只用到了没有注释的配置:s...

2019-11-28 10:32:07 1210 1

原创 Springboot2.x集成Rabbitmq实现延时消费

前言比如我们在使用mq的时候并不希望立即收到消息,比如实现3分钟后再查询订单,这时候我们就需要使用延迟消息发送了。RabbitMQ如何实现迟队列?AMQP协议和RabbitMQ队列本身没有直接支持延迟队列功能。但是我们可以通过RabbitMQ的两个特性来曲线实现延迟队列:特性1、Time To Live(TTL)1.RabbitMQ可以针对Queue设置x-expires ...

2019-11-27 17:51:41 67

原创 springboot2.x集成RabbitMQ实现延迟队列报错unknown exchange type 'x-delayed-message'

报错如下:ShutdownSignalException: connection error; protocol method:#method<connection.close>(reply-code=503, reply-text=COMMAND_INVALID - unknown exchange type 'x-delayed-message', class-id=40, ...

2019-11-27 17:15:39 342

原创 新版Notepad++64位的Json格式化插件

1.下载:首先给出下载地址:64位下载地址:Jsonviewer2 32位下载地址:JSONViewer Notepad++ plugin2.安装 :1、下载插件压缩包并解压出dll:Jsonviewer2.dll(64位)或NPPJSONViewer.dll(32位);2.、拷贝对应dll到Notepad++安装目录下的plugins目录,并建一个文件夹,文件夹名字一定要和文件名J...

2019-11-26 16:35:34 346

原创 idea构建编译spring5.1.x源码环境

前言我们平时天天写项目,一直用的spring,个人觉得,每天都在面对spring,确从来没有编译过spring源码,有点不太合适,所以今天我们就来编译一下源码环境,顺便做一个笔记。这里给出我的配置:JDK1.8.0_172,IntelliJ IDEA 2019.1 (Ultimate Edition),gradle-5.4。注意:gradle版本需要4.2以上第一步:保证我们环境已...

2019-11-26 11:30:16 743

原创 springboot连接elasticsearch 报错failed to load elasticsearch nodes。。。

具体报错如下:failed to load elasticsearch nodes : org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{m-smEJI0TKOTPDV_eVS1hQ}{127.0....

2019-11-22 17:55:03 1978

原创 报错Encoded password does not look like BCrypt和There is no PasswordEncoder mapped for the id “null”

前言使用的是spring security自带的login页面,结果登陆的时候,用户名和密码正确也无法打开资源,还是停留在login页面。而且发现控制台报了异常——There is no PasswordEncoder mapped for the id “null”。网上百度了一下发现这是因为Spring security 5.0中新增了多种加密方式,也改变了密码的格式。{id}enc...

2019-11-19 15:13:12 466

原创 Spring security filter详解(5.1.6)

1.Spring security filter1.1默认filter链,在程序启动时会打印出如下日志,该日志打印出了默认的filter链和顺序,其中WebAsyncManagerIntegrationFilter为第一个filter,FilterSecurityInterceptor为最后一个filter。2019-11-19 10:26:54.340 INFO 17148 --- ...

2019-11-19 11:29:35 317

原创 关于Java中的WeakReference类的笔记(弱引用)

前言今天在看ThreadLocal源码的时候,其中内部类ThreadLocalMap中的Entry继承了WeakReferenc,为了能搞清楚ThreadLocal,只能先了解下了WeakReferenc。先看一下源码:从源码中可以看出他又继承了抽象类Reference,WeakReference如字面意思,弱引用, 当一个对象仅仅被weak reference(弱引用)指向, 而...

2019-11-14 16:46:17 357

原创 在windows10上安装HBuilderX点击无响应

点击毫无反应,通过 事件查看器 排查问题:打开事件查看器的方法: 点击“开始→运行”,输入eventvwr,点击“确定”,就可以打开事件查看器。最后看到错误模块:错误模块路径: C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_48e6aecba6994e7b\ig9icd32.dll显卡错误:ig9i...

2019-11-13 12:59:36 1416

原创 beforeEach钩子,next('/login') 跳转问题,无线循环导致Maximum call stack size exceeded问题

好久没写vue了,今天突然犯了一个致命的小错误,代码如下:routes.beforeEach((to, from, next) => { if (sessionStorage.getItem('token')) { next(); } else { next('/login'); }});貌似一看没问题,但是却陷入了死循环,最后导致栈溢出。原因:没...

2019-11-12 16:39:01 626

原创 npm常用命令(持续更新中)

1.npm install 单个模块:安装到node_modules目录中,但不会保存在package.json 中。之后运行npm install命令时,不会自动安装该模块。npm install2.安装到node_modules目录中,保存在package.json中dependencies字段下,安装生产环境依赖的模块。npm install --save3.安装到no...

2019-11-11 11:08:50 45

原创 码云使用webhook和jenkins持续集成

第一步:首先我们在jenkin的插件管理里面搜索Generic Webhook Trigger,然后下载重启jenkins。第二步:重启jenkin后我们可以看到会出现下图这里可以定义很多自己的规则,具体用法自己研究。我们采用简单的token令牌来测试。在token这里我们放我们的令牌,这里我就随便写一个,就叫gitee,然后保存。第三步:去码云上面配置web...

2019-11-08 16:27:39 92

原创 IntelliJ IDEA的Live Templates(学习笔记,持续更新)

前言调用常规的实时代码模板主要是通过两个快捷键:Tab 和 Ctrl + J自带变量参数介绍$END$,表示最后都编辑完后光标所处的位置$SELECTION$,表示设置环绕实时代码模板我的模板:public Resp a$SELECTION$() { return Resp.success("ok", null);}...

2019-11-04 16:58:08 576

原创 sentinel-dashboard安装

下载:下载地址:https://github.com/alibaba/Sentinel/releases有些网络下载会很慢,这里给出备用下载地址,备用下载地址:https://pan.baidu.com/s/1vZ5so4VwwP2c9IIWeInIFA下载控制台工程,使用以下命令将代码打包成一个 fat jar:mvn clean package启动:java -Ds...

2019-11-02 12:14:45 4905 4

原创 websocket的实现方式

前言利用websocket实现与网页互动,消息推送点对点消息推送,还有一种springboot的实现,下次再说配置:package com.zoo.websocket.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Co...

2019-10-31 15:37:46 90

原创 springcloud之Feign、ribbon设置超时时间和重试机制

前言我们在微服务调用服务的时候,会使用feign和ribbon,比如有一个实例发生了故障而该情况还没有被服务治理机制及时的发现和摘除,这时候客户端访问该节点的时候自然会失败。所以,为了构建更为健壮的应用系统,我们希望当请求失败的时候能够有一定策略的重试机制,而不是直接返回失败。先看一个配置:#预加载配置,默认为懒加载ribbon: eager-load: enabled...

2019-10-30 12:20:39 1191

原创 Spring Cloud Hystrix Command属性详解

前言我们在使用springcloud的时候难免会使用Hystrix ,下面对属性配置做一个笔记;配置主要有下面几种类型的属性配置:配置前缀为 hystrix.command.defaultexecution配置: execution.isolation.strategy :该属性用来设置执行的隔离策略,有如下二个选项: THREAD:通过线程池隔离的策略,在独立线程上...

2019-10-30 11:38:48 265

原创 Ribbon的饥饿加载(eager-load)模式及服务调用超时配置

前言今天在使用微服务调用时服务之间调用超时,报错如下:feign.RetryableException: Read timed out executing POST http://******也可能会有人在服务都成功启动的时候第一次访问会有报错的情况发生,但是之后又恢复正常访问。解决办法:首先第一次调用失败后面正常:要解决此问题那么让需要实例化的类提前创建,而不是在第一次调用...

2019-10-30 10:32:38 807

原创 linux如何修改默认SSH端口

linux SSH默认端口是22,不修改的话存在一定的风险,要么是被人恶意扫描,要么会被人破解或者攻击,所以我们需要修改默认的SSH端口。vi /etc/ssh/sshd_config默认端口是22,并且已经被注释掉了,打开注释修改为其他未占用端口即可。开启防火墙端口并重复服务即可。systemctl restart sshd.service...

2019-10-28 16:02:57 164

原创 我的服务器常用命令(持续更新)

监控找出占用内存资源最多的前 10 个进程:ps -auxf | sort -nr -k 4 | head -10找出占用 CPU 资源最多的前 10 个进程:ps -auxf | sort -nr -k 3 | head -10查看cpu信息:cat /proc/cpuinfo查看某个文件夹的总容量:du -sh 防火墙firewalld的基本使用...

2019-10-28 16:01:48 141

原创 AB压力测试

前言ab是apachebench命令的缩写,ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等,ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次...

2019-10-28 15:46:53 101

原创 数据库主从数据不一致解决方案

Master:查看下进程是否Sleep太多show processlist;查看master状态:show master status;slave查看状态:show slave status\GSlave_IO_Running: YesSlave_SQL_Running: No可见slave不同步。解决方法:方法一:忽略错误后,继续同步...

2019-10-25 17:38:47 183

原创 mysql主从搭建

前言首先你需要两台服务器,可以用虚拟机,参考https://blog.csdn.net/qq_36850813/article/details/102738811,也可以使用不同端口,这个看自身条件。安装mysql:参考https://blog.csdn.net/qq_36850813/article/details/100836723主节点启动binlog日志(在my.cnf...

2019-10-25 14:37:58 66

空空如也

NPException的留言板

发表于 2020-01-02 最后回复 2020-01-02

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