- 博客(34)
- 收藏
- 关注
原创 记jnekins打包引起springcloud中服务假死问题
记jnekins打包引起springcloud中服务假死问题故事背景由于使用的jenkisn做发版工具,每次重启服务都打整个聚合工程,然后我对其进行优化,将其打包给单独拆出了一个job,打包完后将其产物上传,导致bug的出现。bug发生前的jenkins配置部署or回滚脚本上传配置bug发生前重启job配置说明打包或者回滚完后直接将所有的包给上传了。重启服务都是单个对应的job。bug现象服务在nacos注册中心没有信息,进程还在,无任何报错日志信息。部分接口访问出现 j
2020-12-10 17:10:38
422
1
原创 springboot项目打包docker镜像并且上传到阿里云远程仓库
springboot项目打包docker镜像并且上传到阿里云远程仓库文章目录springboot项目打包docker镜像并且上传到阿里云远程仓库1, docker开启远程访问1-1 笔者docker安装在ubnutu上(Ubuntu 15.04及更高版本)2, maven插件1, docker开启远程访问1-1 笔者docker安装在ubnutu上(Ubuntu 15.04及更高版本)创建/etc/systemd/system/docker.service.d目录sudo mkdir /etc
2020-06-06 16:38:17
1105
原创 解决mysql5.7的主从复制延迟解决方案
在MySQL下主从复制的延迟问题一直是在业界内比较大的困扰,主从的延迟会因为受到网络磁盘等等相关的因素影响,但其中最主要的影响是就是在master太过繁忙的写入导致slave无法有效的从relay_log中读取到最新的相关记录,这样对于数据实时性很高的业务来说slave的数据并不是最新的有一定的延时,此时使用主从的读写分离就有点显的鸡肋了,不能做到slave上能查到最新的实时数据,大多在slave...
2019-12-09 15:44:57
1663
原创 docker简单安装rabbitmq
指定版本,该版本包含了web控制页面docker pull rabbitmq:management方式一:默认guest 用户,密码也是 guestdocker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management浏览器输入:http:ip:15672/ 用户名:...
2019-12-07 14:29:33
153
原创 docker搭建mysql5.7主从复制实现读写分离
拉取镜像docker pull mysql:5.7Master(主):docker run --restart=always --name mysql5.7-master -p 3307:3306 -e MYSQL_ROOT_PASSWORD=dsj123456 -d mysql:5.7如果要把配置和数据映射出来可以加上参数:前提是创建好配置文件-v /root/mysql5.7/...
2019-12-07 14:24:34
313
原创 Druid详解
Druid介绍Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、扩展性方面,都超过其他数据库连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池!同时Druid不仅仅是一个数据库连接池,它包括四个部分:Druid是一个JDBC组件。基于Filter-Chain模式...
2019-07-29 16:37:56
4061
原创 数据库连接池选择及性能比对(hikariCP druid c3p0 dbcp jdbc)
数据库连接池概述数据库连接的建立是一种耗时、性能低、代价高的操作,频繁的数据库连接的建立和关闭极大的影响了系统的性能。数据库连接池是系统初始化过程中创建一定数量的数据库连接放于连接池中,当程序需要访问数据库时,不再建立一个新的连接,而是从连接池中取出一个已建立的空闲连接,使用完毕后,程序将连接归还到连接池中,供其他请求使用,从而实现的资源的共享,连接的建立、断开都由连接池自身来管理。数据库连接...
2019-07-29 16:36:30
1397
原创 JDBC概念及其底层原理
什么是jdbc维基百科定义:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标[1]。JDBC是面向关系型数据库的。通俗的说:JDBC就是java语言连接数据库的规范,每个数据库厂商的实现都遵守该规...
2019-07-26 22:23:48
807
原创 超大文件调用讯飞语音听写解决方案
需求2019年6月20日1,案场销售和客服的谈话录音,需要将其翻译成文字,入库,后台审核。需求分析技术选型讯飞接口语音有方言1,因为方言的存在,只能使用语音听写接口。拿到的是语音文件1,所以只能使用WebAPI方式调用讯飞接口。讯飞语音听写有音频格式限制1,所以只能使用ffmpeg进行格式转换2,[下载地址](http://www.ffmpeg.org/downlo...
2019-07-11 17:17:17
1307
原创 springbootAdmin搭建以及对上一个工程进行改造
什么是springbootAdminSpring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现。 UI是的AngularJs应用程序,展示Spring...
2019-07-11 17:13:57
2827
7
原创 springcloud搭建以及集成tx-lcn分布式事务解决框架
本文档采用框架版本,请严格按照文档版本,否则将可能造成版本冲突框架名称框架版本springboot2.0.4.RELEASEspringcloudFinchley.SR1jdk1.8tx-lcn5.0.2.RELEASE使用了哪些springcloud组件组件名称作用eureka注册中心zuul网关hyst...
2019-07-11 17:11:00
3005
5
原创 mysql常见的面试题
1,MySQL的复制原理以及流程(1)、复制基本原理流程1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;3. 从:sql执行线程——执行relay log中的语句;(2)、MySQL复制的线程有几个...
2019-03-08 15:45:50
365
原创 spring中使用了哪些设计模式
spring中使用了哪些设计模式相信大家对spring都很熟悉,使用都是好多年了,但是大家对它有多了解呢,它为什么好用?为什么这么灵活?带着这些问题我们一起来研究,发现设计模式的落地让它变得优雅灵活,好用,下面我们来介绍一下它使用的9种设计模式吧。第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一...
2019-01-26 10:37:05
195
原创 java中常用的注解
java中常用的注解@Null 被注释的元素必须为null@NotNull 被注释的元素不能为null@AssertTrue 被注释的元素必须为true@AssertFalse 被注释的元素必须为false@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值@Dec...
2019-01-05 22:28:36
278
原创 JAVA设计模式——观察者模式
前言:观察者模式,又可以称之为发布-订阅模式,顾名思义,简而言之我们可以理解成,7点半播放天气预报,电视里那个主持人就是发布者,也就是所谓的被观察者,我们这些听天气预报的人也就是所谓的观察者。也就是说他一个人(被观察者)发布一条消息,我们这些听天气预报的人(观察者)都知道了这个消息。1,被观察者接口(也就是天气预报主持人的接口,每天可以换主持人播报):package com.itpe...
2019-01-04 23:36:25
276
原创 Elasticsearch6.4.2安装教程
前言:Elasticsearch是和solr一样的搜索服务,都是基于Lucene,但是es的实时性能更强,更适合做海量数据的搜索服务,所以我们来学习一下es。1,安装环境CentOS7 64位2,下载es安装包目前6.4.2是最新版官网下载地址:https://www.elastic.co/downloads/elasticsearch3,将下载好的压缩包上传到linux中...
2018-10-15 11:19:19
3669
原创 Redis集群都有哪些模式
前言:一,为什么要使用redis1,解决应用服务器的cpu和内存压力2,减少io的读操作,减轻io的压力3,关系型数据库扩展性不强,难以改变表的结构二,优点1,nosql数据库没有关联关系,数据结构简单,扩展容易2,数据读写快,能够每秒胜任几十万的并发,处理速度快三,使用场景1,数据高并发读写2,海量数据读写3,对不规则数据也就是扩展性要求高的数据四...
2018-10-08 15:42:54
6457
1
原创 SpringBoot2.x自定义全局异常处理器和配置
SpringBoot2.x自定义全局异常处理器和配置 前言:在某些业务场景,我们会在系统中针对某些业务抛出一个统一的自定义异常,然而springBoot为了方便我们能够对这些异常进行统一处理给我们提供了全局异常处理器的功能,其实也就是延用了springmvc的全局异常处理器,只是简化了配置而已。好了,废话不多说,我们直接上代码吧1,自定义异常...
2018-10-03 17:26:00
710
原创 SpringBoot2.x自定义全局异常处理器和配置
前言:在某些业务场景,我们会在系统中针对某些业务抛出一个统一的自定义异常,然而springBoot为了方便我们能够对这些异常进行统一处理给我们提供了全局异常处理器的功能,其实也就是延用了springmvc的全局异常处理器,只是简化了配置而已。好了,废话不多说,我们直接上代码吧1,自定义异常类.package com.renrengou.exception;/** * @au...
2018-09-28 16:50:23
2049
原创 SpringBoot2.x中实现自定义拦截器配置与实现
前言:好了废话不多说,直接说说拦截器是干嘛的,拦截器是一种aop的体现,可以实现权限等功能,例如常用的认证,也就是所谓的登录。好了直接上代码吧,我这里使用的是springboot2.0.5的版本,众所周知springboot2.x多了很多新特性,刚好拦截器配置这里就做了些许改变,为了避免大家采坑,小编特意写下这篇文章。1.x和2.x的静态资源访问区别(注意事项)1.x的resource...
2018-09-28 08:57:21
5676
原创 Java中的String,StringBuilder,StringBuffer三者的区别
前言:一个系统的性能与安全编码也是占了很重要的一部分,在特定的场合使用适合它的数据类型能够有效提升我们的系统运行速度,同时减轻jvm的负担。下面我们就针对String,StringBuilder和StringBuffer进行深入的了解。如有错误,请大神指正。这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度:StringBuilde...
2018-09-24 17:15:46
111
原创 SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
前言本篇文章主要讲述的是SpringBoot整合Mybatis、Druid和PageHelper 并实现多数据源和分页。其中SpringBoot整合Mybatis这块,之前有一篇文章已经说明过了,这里就不在详细说明。重点是讲述在多数据源下的如何配置使用Druid和PageHelper 。Druid介绍和使用在使用Druid之前,先来简单的了解下Druid。Druid是一个数据库连接...
2018-09-20 14:28:05
1664
2
原创 SpringBoot使用AOP
1,AOP是什么?AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。2,SpringBoot2.x中使用aop和SSM有什么不同呢?请看案例第一步:添加AOP的依赖<?xml version="1.0" encoding="UTF-8"?><pro...
2018-09-11 09:06:14
768
原创 SpringBoot2.0使用自带的定时器
前言:日常工作中,我们难免会遇到许多定时任务,比如,定时发送邮件祝福用户生日快乐,某个时间定时清除某些数据非常简单,就两个步骤就完事,第一步:开启定时第二步:编写任务调度的业务类package com.itpengwei.idea.job.springbootjob.commer;import com.itpengwei.idea.job.springbootjob.se...
2018-08-28 11:13:39
1833
原创 SpringBoot2.0集成Redis的日常使用
前言:在SSM中往往整合一个redis都需要一堆配置,但是自从用了SpringBoot后这一堆配置就由框架来给我们做了,另外还给我们封装了常用的方法,下面我们来讲讲SpringBoot2.0中集成Redis,因为2.0和以前的版本有点不同,所以我们细细讲解。第一步:直接导入Redis的依赖<?xml version="1.0" encoding="UTF-8"?><p...
2018-08-28 10:59:13
10096
原创 分布式环境下实现延时任务的方案
一,在日常开发中我们经常会使用到这样的一些功能1,某宝购买了一件商品时尚未付款,然后30分钟后就会自动取消该订单2,某宝购买一件商品后,确认收货后15天默认好评类似这种功能我们叫延时任务,但是我们要怎么去实现这样的功能呢,下面就来说说我们的策略吧!方案1:定时轮询数据库启动一个job(job调度与业务逻辑处理分离),定时扫描数据库,执行的操作类似select * from xx...
2018-08-27 15:34:11
872
原创 SpringBoot整合Quartz实现定时任务(单任务、多任务)
前言:为了实现如:定时发送邮件,订单超时等操作需要使用到任务调度,为了节约自己封装的时间所以使用Quatrz开源项目来帮助我们实现这些繁杂的操作,Quatrz内部有自己的线程池,不需要我们去手动维护线程,而且支持cron表达式等,下面我们讲解一下使用Springboot2.x来整合Quatrz1,先是导入依赖,少了依赖可不行<project xmlns="http://maven....
2018-08-27 14:46:29
3968
3
原创 使用Java8新特性对List进行排序
前言:在项目开发中往往会遇到各种数据需要排序展示在页面上,常见的从数据库查使用数据库的排序,还有一种就是使用我们的开发语言进行排序,这里给大家演示使用java8的新特性进行排序,众所周知java8带来了函数式编程和Lambda表达式等新特性,下面我们就开始演示了:一:单元测试方法的前后处理,省的写那么多代码,我就使用前后处理给抽出来了private List<Integer&g...
2018-08-23 10:15:56
29541
1
原创 Linux常规命令操作大全
Linux常用命令大全最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmid...
2018-08-21 16:58:48
561
1
原创 IntelliJ IDEA 2018安装并使用Maven Helper插件
第一步:第二步: 第三步:然后点击instal下载好了重启就可以使用了安装了Maven Helper插件,只要打开pom文件,就可以打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab),进入Dependency Analyzer视图之后有三个查看选项,分别是Conflicts(冲突)、All Dependenc...
2018-08-07 09:23:05
15051
原创 Java中Map的几种遍历方式
方式一:也是最常用的,通常在key和value都需要的情况下使用。Map<String, String> map = new HashMap<>(); map.put("1", "张三"); map.put("2", "李四"); map.put("3", "王五"); for (Map.Entry&
2018-08-07 09:21:01
419
原创 Spring Boot 2.x使用swagger2.8.0生成在线API文档
1,在pom文件里面添加swagger的依赖和ui依赖<?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" xsi:sche...
2018-07-17 14:21:24
1516
原创 SpringBoot2.x实现文件上传与下载
1,配置pom文件<?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" xsi:schemaLocation="http://m
2018-07-06 12:56:36
5220
原创 SpringBoot2.0使用Spring Data-JPA实现增删改查
本文主要讲解使用springboot2.0使用jpa实现增删改查,外加自己拓展方法,spring的jpa是一个非常不错的持久层框架,可以理解为就是对Hibrenate进行了封装,比起Mybatis优点在于不用关注sql语句的编写。我这案例中使用ResultFul风格来编写的。好了讲了这么多废话直接上代码和步骤吧。使用的是maven管理项目,如果不会maven的同学可以先去学会使用maven吧。...
2018-06-25 21:07:21
22655
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人