自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (17)
  • 收藏
  • 关注

原创 从0开始搭建prometheus监控平台

Prometheus监控平台安装配置参考资料:https://kuboard.cn/install/install-k8s.html一、环境准备1.1 环境说明名称版本下载链接描述操作系统centos7.8Prometheusprometheus-2.24.0.linux-amd64.tar.gzhttps://prometheus.io/download/普罗米修斯服务go1.11.4https://golang.org/dl/go环境G

2021-01-11 09:27:48 1706 9

原创 Spirng的事务传播

总结:方法A调用方法B:如果A和B方法在同一个类中:如果A加@Transactional注解,B加不加@Transactional注解,事务是有效的,则AB在同一事务中。如果A不加@Transactional注解,B加不加@Transactional注解,事务都是无效的。如果A和B不在同一个类中:如果A加@Transactional注解,B加不加@Transactional注解,事务是有效的。如果A不加@Transactional注解,B加了@Transactional注解,只有B是有

2022-03-31 14:02:12 236

原创 mysql执行计划

mysql执行计划字段详解

2022-03-23 17:03:42 392

原创 LengthFieldBasedFrameDecoder解码器自定义协议解决粘包、拆包问题

LengthFieldBasedFrameDecoder解码器自定义协议解决粘包、拆包问题

2022-02-17 18:55:33 2039 1

原创 Spring Cloud灰度发布方案----ribbon框架

Spring Cloud灰度发布方案----ribbon框架Spring Cloud灰度发布方案(自定义路由规则)请移步:https://blog.csdn.net/han949417140/article/details/121420529一、简介1.1 不停机部署服务策略介绍蓝绿部署蓝绿部署的模型中包含两个集群A和B1、在没有上线的正常情况下,集群A和集群B的代码版本是一致的,并且同时对外提供服务。2、在系统升级的时候下,我们首先把一个集群(比如集群A)从负载列表中摘除,进行新版本的

2021-11-22 15:10:02 1374

原创 Spring Cloud灰度发布方案----自定义路由规则

灰度发布的核心就是路由转发,如果我们能够自定义网关==>服务a、服务a==>服务b中间的路由策略,就可以实现用户引流,灰度发布。

2021-11-22 11:45:32 2123

原创 java大数据量导出csv文件并压缩

java大数据量导出csv文件并压缩java使用POI大数据量导出excel一般会存在以下几个问题:一次从数据库查询出这么大数据,查询缓慢查询数据量过大时会内存溢出解决方案:分页查询数据,比如一次查询5w数据,生成多个excel文件大数据量生成excel文件过慢解决方案:生成excel改为生成csv文件本文主要 介绍java 导出csv文件csv文件导出工具类package com.yss.datamiddle.util;import javax.servlet.Servl

2021-11-17 13:55:56 5628 3

原创 springboot自定义异常处理

项目中我们是一定要碰到的情况就是无论在控制层,业务层还是Dao层都需要校验一些数据,无论是前端传过来的,还是经过业务处理判断的,如果不合法需要友好的提示给用户,否则用户收到一个NullPointerException这玩意,他可能会很懵逼,再说直接将错误的信息直接暴露给用户,这样的体验也不是太好。通过统一异常拦截,可以手动抛出异常,异常拦截格式化异常返回数据。一、集成统一异常处理响应结果统一封装类package com.hld.free.common;import io.swagger.

2021-10-22 13:30:40 639

原创 aop+自定义注解实现接口权限控制

实现思路:控制层添加自定义权限注解 @PreAuthorize(“system:menu:list”),然后权限组件通过AOP和反射原理获取权限注解中配置的权限标识,与菜单维护的权限标识做匹配,一致则放行,不一致则返回未授权信息菜单表维护权限标识字段:permsCREATE TABLE `sys_menu` ( `menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', `menu_name` varchar(50) NOT .

2021-10-22 11:25:13 821

原创 手动删除eureka多余服务

本文记录一下如何手动删除eureka注册中心多余服务的方法。使用postman 调用delete接口删除服务,详细信息如下:

2021-10-14 15:52:06 1544

原创 mysql统计本周、本月、近一年数据并分组

最近碰到一个需求是统计某张表的数据,统计时间维度分别为当天、本周、本月、近三月、近一年,其中当天的统计单位为时(h)、本周和本月统计单位为天(d)、近三月和近一年统计单位为月(m),如果当前时间单位没有数据置为0。这里记录一下实现方法。

2021-09-24 10:43:29 1237

原创 springboot2.x集成redis 发布订阅监控过期key,实现超时订单处理

场景方案:当我们的平台上的用户下了订单,但是没有付款时,我们一般会给这个订单保存 一定时间 ,过期之后,就要对这个订单进行做废处理,把订单上的商品的库存 归还。方案:它主要是用了redis的发布订阅机制,redis的notify-keyspace-events 会自动发布一个频道 频道的名称有固定的格式,这里我们监听 键的失效事件 的订阅频道名是 __keyevent@0__:expired 订阅了这个频道,当redis的 第0号数据库中有键名失效时,就会收到一个推送,我们就利用这个特点

2021-08-06 11:08:45 752

原创 openjdk11 安装配置

openjdk、oracle jdk区别openjdk是jdk的开放原始码版本授权协议的不同openjdk采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用OpenJDK不包含Deployment(部署)功能部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在Openjdk中是找不到的OpenJDK源代码不完整在采用GPL协议的

2021-06-21 10:13:31 11926 1

原创 redis6.x 高可用cluster集群搭建

一、redis安装部署下载redis最新安装包wget http://download.redis.io/releases/redis-6.0.6.tar.gz升级gcccentos7 默认的 gcc 默认是4.8.5,版本小于 5.3 无法编译,需要先安装gcc新版才能编译yum -y install gcc-c++升级gcc #这里要升级一下,否则编译时候会报错yum -y install centos-release-sclyum -y install devt

2021-06-15 15:26:08 272

原创 redis6.x哨兵模式安装配置

一、redis安装部署下载redis最新安装包wget http://download.redis.io/releases/redis-6.0.6.tar.gz升级gcccentos7 默认的 gcc 默认是4.8.5,版本小于 5.3 无法编译,需要先安装gcc新版才能编译yum -y install gcc-c++升级gcc #这里要升级一下,否则编译时候会报错yum -y install centos-release-sclyum -y install devt

2021-06-11 16:46:57 1646 1

原创 springboot2.x+shardingjdbc分库分表实现

一、概览1.1 简介ShardingSphere-JDBC定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC。支持任何第三方的数据库连接池,如:DBCP, C3P0

2021-06-04 17:23:31 13453 1

原创 POI实现word转html

最近公司有需求word转html,这里记录一下方便以后使用。添加maven依赖 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.2.0</version> .

2021-05-19 11:31:25 1932 2

原创 java解析office数学公式

一、概述公司的项目遇到一个需求是从office word中导入数据回显到页面当中,里面穿插着一些数学公式,又不想使用图片的方式存储数学公式。所以敲定了将公式转换成latex表达式,然后前端使用MathJax渲染出数学公式的方案。1.1 所需资源名称地址描述mmltx.xslhttps://sourceforge.net/projects/xsltml/files/xsltml/MathML转LaTex工具MML2OMML.XSLhttps://download.cs

2021-05-08 13:13:52 3170 5

转载 springcloud+seata1.4.0+nacos整合详细教程

seata分布式事务本文档默认您已经具备如下环境:Nacosmysql一、环境准备1.1 资源名称地址Nacos2.0https://github.com/alibaba/nacos/tags注册中心、配置中心seata1.4.0http://seata.io/zh-cn/blog/download.html分布式事务项目示例https://github.com/HLDBanana/seata_demoseata示例项目1.2 seata介

2021-04-27 15:54:58 2201 9

原创 promQL语句整理

前言:之前的文章已经介绍了prometheus原理、安装配置,可视化以及告警,本文主要是梳理prometheus时序数据库语法promQL的基本使用。一、理解时间序列1.1 样本Prometheus会将所有采集到的样本数据以时间序列(time-series)的方式保存在内存数据库中,并且定时保存到硬盘上。time-series是按照时间戳和值的序列顺序存放的,我们称之为向量(vector). 每条time-series通过指标名称(metrics name)和一组标签集(labelset)命名。.

2021-02-01 15:26:13 5039

原创 prometheus+consul 服务自动发现监控

prometheus+consul 服务自动发现监控搭建prometheus监控平台请参考:https://blog.csdn.net/han949417140/article/details/112345172一、 简介prometheus配置文件 prometheus.yml 里配置需要监听的服务时,是按服务名写死的,如果后面增加了节点或者组件信息,就得手动修改此配置,并重启 promethues;那么能否动态的监听微服务呢?Prometheus 提供了多种动态服务发现的功能,这里以 consul

2021-01-19 13:36:40 3533

原创 prometheus-监控项

prometheus监控平台搭建请参考:Prometheus监控平台安装配置一、mysql监控项名称PromQL描述mysql正常运行时间mysql_global_status_uptime{instance="$host"}mysqld 服务器进程最后一次重启的时间。当前的 QPSrate(mysql_global_status_queries{instance=“KaTeX parse error: Expected 'EOF', got '}' at positi

2021-01-12 11:14:29 2259 2

原创 设计模式-工厂模式

工厂模式一、工厂方法模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决主要解决接口选择的问题。何时使用我们明确地计划不同条件下创建不同实例时。使用场景吃饭:大

2020-12-04 11:49:44 161

原创 设计模式-观察者模式

观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。何时使用一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。应用实例1、拍卖的时候,拍卖师观察最高标价,然后通知给其他竞价者竞价。2、西游记里面悟空请求菩萨降服红孩儿,菩萨洒了一地水招来一个老乌龟,这个乌龟就是观察者,他观察菩萨洒水这个动作。优点1、观察者和被观察者是抽象

2020-11-24 16:25:59 147

原创 设计模式-模板模式

模板模式在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。主要解决:一些方法通用,却在每一个子类都重新写了这一方法。何时使用:有一些通用的方法。应用实例1、在造房子的时候,地基、走线、水管都一样,只有在建筑的后期才有加壁橱加栅栏等差异。2、西游记里面菩萨定好的 81 难,这就是一个顶层的逻辑骨架。3、spring 中对 Hiberna

2020-11-24 13:33:17 153

原创 设计模式-代理模式

代理模式代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。主要解决在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。优点:1、职责清晰。 2、高扩展性。 3、智能化。缺点:1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能

2020-11-23 15:18:50 146

原创 设计模式-装饰器模式

装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。何时使用:在不想增加很多子类的情况下扩展类。优点:装饰类和被装饰类可以独立发展,不会相互耦合,

2020-11-23 13:37:37 248

原创 设计模式-适配器模式

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。优点:1、可以让任何两个没有关联的类一起运行。2、提高了类的复用。3、增加了类的透明度。4、灵活性好。缺点:1、过多地使用适配器,会

2020-11-20 17:33:56 236

原创 设计模式-单例模式

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。优点:1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。2、避免对资源的多重占用(比如写文件操作)。缺点没有接口,不能继

2020-11-19 17:22:48 133

原创 kubernetes集群安装配置jenkins

kubernetes集群安装配置jenkins查看本文档之前你需要具备如下环境:kubernetes集群kuboard图形化管理界面harbor镜像仓库dockerdocker-compose一、jenkins基础镜像构建1.1 编写Dockerfile使用Dockerfile构建基础镜像// 具体jdk、maven版本根据实际情况做调整[root@nodea jenkins-slave]# cat Dockerfile -------------------------------

2020-11-18 11:57:54 816

原创 linux安装配置kubernetes1.19

linux安装配置kubernetes1.19参考资料:https://kuboard.cn/install/install-k8s.html一、环境准备1.1 环境说明k8s组件版本名称版本Kubernetesv1.19.0calico3.13.1nginx-ingress1.5.5Docker19.03.11操作系统兼容性centos版本本文档兼容性备注7.8????已验证7.7????已验证

2020-11-18 10:27:49 929

原创 jenkins持续构建k8s服务

本文章只支持公司内部自研k8s集群使用,这里记录下来方便后续查看

2020-10-30 15:57:00 804

原创 设计模式-策略模式

设计模式-策略模式一、简述什么是策略模式策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如:每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。再比如:电商支付有微信、支付宝、银联等支付方式,每种支付方式都有不同的逻辑。主要是为了代码的解耦,避免每次新增策略的时候都影响到之前的策略逻辑(开闭原则),降低代码的耦合有利于后面代码的延伸(新增行为),并确保每次新增策略(功能)时都不会影响到原来的代码逻辑!

2020-10-28 15:47:01 227

原创 rocketmq安装使用教程

rocketmq安装使用教程本文假设您已经完成了下列前序步骤:docker安装配置一、docker安装rokcetmq1.1 安装namesrvdocker pull rocketmqinc/rocketmq:latest/** - 安装namesrv - -d # 后台运行 - -p #设置默认端口,这里rocketmq默认9876端口 - -v #设置映射本地目录到容器内的目录,这个注意我都是把本地 的/usr/local/docker/rocketmq/**映射到容

2020-10-13 17:49:03 1056 1

原创 elk7.8安装配置

elk 7.8安装配置一、前言ELK主要由ElasticSearch、Logstash和Kibana三个开源工具组成,还有其他专门由于收集数据的轻量型数据采集器Beats。Elasticsearch分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 是用Java 基于 Lucene 开发,现在使用最广的开源搜索引擎之一。Logstash数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、

2020-09-29 16:36:34 615

原创 jenkins-流水线配置自动化部署

jenkins安装配置请参考:https://blog.csdn.net/han949417140/article/details/101451542一、流水线方式配置自动化部署新建一个流水线任务General配置gitlab push代码自动部署如需配置自动部署请移步jenkins安装配置 2.5目录下。里面有详细的配置说明流水线配置具体的脚本内容如下:pipeline { agent { //指定此Pipeline将在动态Jenkins Sla.

2020-09-29 11:44:20 3808 2

原创 VisualVM监控远端服务

VisualVM监控远端服务一、准备前提:一个可以启动的jar包。装好jdk环境的设备(服务器、笔记本都可以)下载安装VisualVM:https://visualvm.github.io/index.html二、启动服务启动服务nohup java -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=30173 \ //端口 -Dcom.sun.management.jmxremote.

2020-09-18 16:48:54 230

原创 Java多线程-主线程等待子线程结束

最近有个项目需求是线程池子线程进行数据处理、入库,所有子线程运行完成之后需要汇总子线程运行数据。这里简单介绍一下主线程等待子线程结束的集中方式

2020-09-18 16:47:20 3117

转载 java.lang.UnsupportedOperationException解决方法

在项目中对List进行操作时报错java.lang.UnsupportedOperationException,后来发现操作的List是由数组转换而成的,通过看源码发现问题,并写测试程序如下。代码块:public class ListTest { public static void main(String[] args) { String[] array = {"1","2","3","4","5"}; List<String> list = Arr

2020-07-30 10:14:25 6235

原创 linux上elasticSearch7.8安装配置

linux上elasticSearch7.8安装配置一、资源准备名称地址说明elasticSearch7.8https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gzes安装包jdk11https://www.oracle.com/java/technologies/javase-jdk11-downloads.htmljdk安装包jdk

2020-07-27 16:33:12 2656

springcloud灰度发布方案

springcloud灰度发布方案。包含网关、服务间调用灰度发布代码。详情请参考博客:https://blog.csdn.net/han949417140/article/details/121420529

2021-11-22

conventer.rar

office数学公式转换latex所需工具包,使用教程请参考博客:https://blog.csdn.net/han949417140/article/details/116521013

2021-05-08

微服务接入sentinel流控中心

微服务接入sentinel流控中心

2021-03-23

elk采集服务日志数据

springboot日志通过filebeat,logstash将日志内容采集到es中,kibana展示日志数据

2021-03-23

微服务接入config配置中心.doc

包含config模板项目,以及config多文件夹配置文档。

2021-03-23

nginx_vts_exporter_CH.json

grafana nginx监控模板,内含自定义监控项内容

2021-02-07

grafana-piechart-panel-5f249d5.zip

grafana 饼图插件piechart

2021-02-03

docker-compose-Linux-x86_64

linux环境下 docker-compose包

2021-01-19

springcloud配置中心搭建以及git多文件夹存放配置文件

config配置中心,git仓库多文件夹存放多项目配置文件

2021-01-11

微服务、k8s文档.zip

springcloud微服务开发规范、使用手册。k8s云平台集群安装、部署、运维文档。仅供参考。0.0

2020-10-22

zipkin2.12.9+nacos-server-1.3.2+sentinel-dashboard-1.8.0

zipkin链路追踪+nacos注册、配置中心+sentinel断路器 新版jar包,java -jar 直接启动使用.

2020-10-14

zipkin-server-2.10.1-exec.zip

链路追踪jar包,默认端口9411 可以通过java -jar zipkin-server-2.10.1-exec.jar来启动jar包

2020-04-08

template-java-master.zip

springboot2.x+mybatisplus+多数据源配置,还包含了登录token验证以及自定义同意异常处理

2019-09-24

hadoop+zookeeper+hbase+hive集群安装配置

从零开始hadoop+zookeeper+hbase+hive集群安装搭建,内附详细配置、测试、常见error等图文,按照文档一步一步搭建肯定能成功。(最好用有道云打开笔记)

2018-07-27

linux下myeclipse10.7.1破解文件

myeclipse 10.7、myeclipse 10.6 linux 下测试绝对可用 内附详细使用教程 运行run for linux sh 另外window下也可以使用 运行run bat,东西很难找,保存一下。

2018-07-06

centos6.5安装oracle11g详细教程

linux下安装oracle11g详细教程(每一步都有截图),按照文档步骤一定能安装成功。希望能对大家有所帮助

2017-12-29

JavaMail使用实例

包含javaMail所需资源文件、邮件发送服务配置以及代码示例

2017-12-12

空空如也

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

TA关注的人

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