自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whl 博客专栏

有才,有情,有趣,不俗,不媚,有傲骨,无傲气!

  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 参与者中心方案设计

参与者中心、uac控制中心方案设计

2024-03-15 11:37:49 931

原创 SpringBoot集成Netty实现消息推送、接收、自动重连

SpringBoot集成Netty实现消息消息推送、消息接收、自动重连、身份认证

2022-07-17 13:08:23 6435 9

原创 Redis地理算法GEO解析和应用

背景获取周边信息;附近人?附近的公司?附近的餐厅?附近的星巴克? 获取两个坐标位置的距离?实现可以使用redis、mongo、mysql进行坐标检索换算实现,redis适用版本: >= 3.2.0GEO算法wiki:https://en.wikipedia.org/wiki/Geohashredis使用通用的GeoHash算法进行处理,首先假设有上海站坐标(121.455708,31.249574),然后根据二分法纬度[-90,90],分为[-90,0),[0,90],

2020-07-16 12:01:43 14645 1

原创 Mongodb亿级别数据操作

最近因为公司业务关系每天需要将300w+的数据,双十一高峰时期为3000w+的数据快速查询并进行转储,而这个过程中查询是个头疼的问题,因为加上老数据总量将近3.2亿的数据量,查询起来如果不得当则会一不小心就暴掉了Mongodb,就容易发生惨烈的从删库到跑路。基础条件:SpringBoot项目引入依赖:<dependency> <groupId>or...

2020-04-11 14:59:24 30000

原创 服务模块划分规范

服务模块划分规范

2024-03-15 14:12:01 317

原创 cmd执行命令出现SecurityError: (:) [],ParentContainsErrorRecordException

cmd执行命令出现SecurityError: (:) [],ParentContainsErrorRecordException

2022-07-17 13:29:43 1880

原创 SpringBoot+Mybatis别名匹配失败 Could not resolve type alias

项目场景:通过SpringBoot添加Mybatis双数据源使用实体类绝对路径正常,使用别名项目启动异常,一直报找不到别名实体类错误问题描述:项目启动失败:org.apache.ibatis.type.TypeException: Could not resolve type alias ‘User’Cause: java.lang.ClassNotFoundException: Cannot find class: UserCaused by: org.apache.ibatis.bu.

2020-11-25 18:17:10 2109 1

转载 Mongo使用Docker部署副本集

目录使用Docker部署MongoDB副本集 1. 创建目录 2. 创建密钥 3. 创建mongodb三节点 4. 配置副本集 5. 验证数据同步 6. 附:其它操作 6.1 备份数据 6.2 恢复数据 6.3 创建用户 使用Docker部署MongoDB副本集mongodb从4.0开始支持事务,最近在使用mongodb的过程中,发现在单节点状态下,无法支持事务,只有配置了副本集才支持事务,故留下搭建MongoDB单机三节点副本集的记录.

2020-10-19 14:13:18 354 1

原创 单实例Mongo升级为副本集

背景因为是做短信业务的,随着公司业务增加,数据库压力也日益增加,目前数据量在70亿左右,Mongo只存储一周内的数据,数据量将近1亿左右。之前想要节省成本,所以一直都是单实例。随着接入客户日益增多,每天短信发送量也开始大幅度增加,最担心的就是过节假日,一直比较担心如果Mongo突然挂了,哈 哈!那就是面向死亡编程了。纠结经过几次讨论最终决定采用Mongo副本集读写分离处理,于是开始了服务改造。升级将单实例Mongo改为支持副本集实例 增加配置副本集...

2020-10-19 11:32:37 1162

原创 Linux Centos Mongo安装

安装1、配置系统资源包管理创建 /etc/yum.repos.d/mongodb-org-4.4.repo 资源库文件,添加添加以下内容[mongodb-org-4.4]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/

2020-10-16 15:39:03 136

原创 Mongo排序超出最大内存错误

背景MongoDB是一个文档数据库,这意味着它将数据存储在类似JSON的文档中。我们认为,这是考虑数据的最自然方法,比传统的行/列模型更具表现力和功能。现象排序、分页功能也是在使用过程中最常见的查询,最近Spring data mongo使用排序、分页功能查询数据量在5000w左右的数据时出现超出最大内存限制错误。代码分析Page<VmMessageDtlVO> data = new Page<>();// add common conditionCrite

2020-09-22 14:14:45 3867

原创 SpringBoot redis GEO 实战应用

上篇文章(Redis地理算法GEO解析和应用)我们对redis GEO算法进行解析以及相关shell命令的使用,这篇文章将带你进行实战应用。依赖注:jedis可以不引入,这里只是为了方便查看源码进行解析 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency>

2020-07-16 14:28:26 3537

原创 Mysql千万级别表分区优化

通过上篇文章(https://blog.csdn.net/qq_31150503/article/details/105450236)相信大家已经能够运用MyISAM进行水平分表优化接下来使用Mysql分区进行数据存储优化,也是目前公司采用的大批量数据存储优化方案。方案:根据日期进行分区存储1、创建分区表-- 创建数据分区 根据日期进行分区存储create table dept(...

2020-04-11 14:05:10 25184

原创 Mysql千万级别水平分表优化

需求:随着数据量的增加单表已经不能很好的支持业务,千万级别数据查询缓慢Mysql数据优化方案:方案一:使用myisam进行水平分表优化 方案二:使用mysql分区优化一:Myisam水平分区1、创建水平分表 user_1:-- 创建水平分表create table user_1( id varchar(50) PRIMARY key COMMENT '主键id', u...

2020-04-11 13:30:02 26218

原创 Mysql千万级别数据存储优化

因为公司是做短信业务的,随着数据量的增加每天新增数据将近200w+,数据全部存放至Mongodb中,总数据量将近3.2亿,业务查询相关出现缓慢,于是决定将一周以前的数据存储至Mysql中并对其进行优化处理。公司内部方案方案一:采用Tidb进行查询优化优点:支持高并发、高可用支持无限水平扩展。详细可见:(https://pingcap.com/docs-cn/dev/key-fea...

2020-04-11 12:00:16 25164

原创 SpringBoot+Mybatis+druid配置双数据源

最近因为公司业务,数据量比较大,需要进行数据库查询优化,于是采用了TiDB分布式数据库,使用集群的方式减轻数据库压力。中间引入了双数据源处理,也走了很多弯路在此进行记录,仅供参考1、pom.xml引入相关相关配置 <dependency> <groupId>com.alibaba</groupId> ...

2019-12-28 17:59:09 22752 4

原创 docker compose构建TiDB集群后,Tikv-server内存占用比较高,怎么优化

最近使用TiDB数据库进行数据优化查询,使用docker compose 构建完后出现内存占用很高的情况,过于占用资源解决方案:1、修改了conf/tikv.toml2、修改docker-compose.yml 文件中的Tikv文件...

2019-12-28 16:57:27 7183

原创 idea svn主干合并分支版本Missing ranges异常Error:svn: E195016

在svn分支进行开发是最常见的,主干和生产始终保持版本一直,如果生产需要临时修复则直接在主干进行修改测试提交即可,所以主干进行版本提交也是很常见的事情,但是在分支功能开发完成后将分支合并主干的时候就会出版本丢失问题错误提示:Error:svn: E195016: Reintegrate can only be used if revisions 8893 through 9534...

2019-07-27 23:35:49 32927

原创 那些年微信支付踩过的坑

因为需求原因项目中需要引入微信和支付宝支付功能,自己做微信支付,遇到的坑在这里记录一下将微信java代码引入,配置好相应的配置,使用App进行支付发现执行第10步的时候微信支付系统一直返回-1·,然后查阅文档微信只给出以下几种情况原因,只想说尼玛能不能再具体一点然后开始验证可能出现的原因:1、签名错误通过执行第4步和第5步微信返回相应参数信息没有发生异常,然后又通过调用微信内部...

2019-04-26 09:40:20 37146

原创 Java8 新特性Lambda表达式之入门与探索

之前因为公司服务器一直使用jdk1.7环境所以java8的很多新特性都不能在项目中使用,前几个月于是就把公司java环境进行升级处理,然后在项目中开始使用java8新语法特性。之前自己的开源项目就一直使用jdk1.8所以对新特性不能用在公司项目中很烦,造成出现大部分垃圾代码,趁着此次机会对Lambda表达式进行总结。为什么要用Lambada表达式Lambda表达式说白了就是一...

2019-04-25 20:21:04 48211

原创 java设计模式之代理模式

代理模式定义:是指一个类别可以作为其它东西的接口。代理者可以作任何东西的接口:网络连接、存储器中的对象、文件或其它昂贵或无法复制的资源。举一个简单的例子:说现在有一家公司要拍古装电视剧有剧本,想要有流量就需要有明星参演,于是想要邀请胡歌参演,但是不能直接去找胡歌本人所以只能去找胡歌的经纪人谈关于签约参演的事情代理模式角色:抽象对象角色 (明星) 具体对象角色(胡歌) 代理对象角色(...

2019-04-04 16:40:09 43175

原创 微擎系统在生产运行异常

最近学习微擎系统,在本地所有功能都是正常的但是部署到生产环境则部分功能异常 点击一直没有反应 显示空白页?对比了一下参数也完全一样1、数据库相关的配置已经更改为生产2、将生产的数据库拉至本地然后配置为本地数据库 所有功能都能正常使用解决方案:首先我把data/config.php文件中的开发者模式打开$config['setting']['development'] = 1;...

2019-04-03 09:32:38 365

原创 java设计模式之工厂模式

工厂模式:工厂模式是创建对象的核心设计原则之一,允许客户端以某种方式创建库的对象,使其不与库的类层次结构紧密耦合。工厂模式的几种形态:简单工厂,一个单一的工厂类根据客户端传入的参数不同然后选择实现不同的具体对象。 工厂方法,也可以指作为“工厂”的方法,这个方法的主要目的就是创建对象,而这个方法不一定在单独的工厂类中。这些方法通常作为静态方法,定义在方法所实例化的类中。 抽象工厂,抽象工...

2019-04-02 11:22:42 240

原创 java设计模式之单例模式

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。实现单例模式的思路是:一个类能返回对象一个引用(永远是同一个)和一个获得该实例的方法懒汉方式。指全局的单例实例在第一次被使用时构建。 饿汉方式。指全局的单例实例在类装载时构建。1、单例模式之饿汉模式package ...

2019-03-29 18:06:02 20381

原创 java设计模式之装饰者模式

说到装饰者模式那么何为装饰者模式呢? the decorator pattern is a design pattern that allows behavior to be added to an individual object, dynamically, without affecting the behavior of other objects from the same ...

2019-03-29 16:15:09 29720

原创 java设计模式之观察者模式

先给大家举一个简单的例子,相信大家瞬间就明白了,在某东购商城有一个降价通知功能,只要你登录了账号点击“降价通知”,然后只要该商品出现降价就会给你进行通知。观察者模式顾名思义就是一个或多个观察者对象对一个被观察者对象,如果该被观察者对象发生变化所有的观察者都会发生自动更新。观察者:这里指点击“降价通知的”用户具体被观察者对象:这里指鬼谷子全书现在我们就开始创建一个观察者模式1...

2019-03-28 15:41:48 50893

转载 java设计模式之策略模式

学习策略模式看了很多篇文章,强烈推荐一篇讲解策略模式非常好的文章,只需要五分钟就能明白设计模式之策略模式的使用转载:https://www.cnblogs.com/lewis0077/p/5133812.html...

2019-03-27 21:34:03 127

原创 java使用ajax请求下载excel响应结果显示乱码

需求:前端进行一简单条件查询请求,通过后台到数据库中根据条件进行查询数据,然后将查询到的数据通过excel直接响应给用户进行下载现象:前端页面设计好了,文件下载方法也已完成,然后进行测试,发现前端点击下载按钮后要么没响应要么可以下载但是文件一直打不开,使用浏览器开发者模式查看返回响应的信息就是以下情况全部是乱码的然后通过浏览器直接使用url请求发现是可以下载成功的并且可以打开的,然后就看了...

2019-03-27 21:19:17 25804 9

原创 cannot resolve configuration property 'eureka.client.serviceUrl.defaultZone'

       编写微服务时候eureka客户端进行注册服务yml也引入也相关配置一切配置Ok,奇怪的是该客户端服务启动成功所有接口通过ip也能正常访问但是一直不能注册到EurekaServer中心,相同的配置在其他项目中就是好的。然后application.yml文件一直提示“cannot resolve configuration property 'eureka.client.serviceU...

2019-02-18 16:40:11 43573

原创 Docker 安装以及常用命令

一、Docker安装1、Docker安装参考教程ubuntu:https://blog.csdn.net/u010889616/article/details/80170767centos:https://www.cnblogs.com/wang-yaz/p/10429899.html二、Docker常用命令2、查看所有运行中的容器docker ps3、查询...

2019-02-18 15:55:21 20650 1

原创 实战---在公司项目中引入rabbitMQ,并进行分通道消息发送

最近因为一个需求需要对大批量的用户进行消息推送功能,就想到了使用RabbitMQ进行处理。然后就对RabbitMQ进行抽离变成一个工具类直接调用即可,废话不多说直接开始1、安装RabbitMQ https://blog.csdn.net/red_sheeps/article/details/783863032、添加VirtualHost -------member3、在项目中引...

2019-01-29 19:05:54 41515 1

原创 SpringCloud 运行Eureka Server启动成功但是一直不能加载Eureka Server的Home首页

今天遇到了一个很有意思的问题,运行Eureka Server启动成功但是一直不能加载Eureka Server的Home首页后台日志打印也没有报错,显示正常build.gradle文件配置如下buildscript { ext { springBootVersion = '2.0.0.RELEASE' } repositories { maven {url 'http://ma...

2019-01-08 16:08:25 17339 4

原创 SpringCloud利用Eureka实现服务之间传递数据

    相信大家最关心的肯定不是什么一大堆的破理论,然后还似懂非懂的,最关心得莫过于服务之间的参数传递,数据获取。    Ok,今天就告诉大家三种微服务之间传输数据的方式,分别是:1、最基本的利用Ip端口进行请求访问接口实现数据的传输2、使用Eureka取代Ip(硬编码)的方式实现数据的传输3、使用Feign更加快捷"分服务"的方式实现微服务之间的数据传输(对Feign一点不了解的暂时不用理解,就...

2018-04-12 21:40:23 39279

原创 ubtuntn环境下安装navicate

1、首先下载navicat;2、下载完成后找到该文件,然后进行解压(右键点击文件选择extract Here);3、可以使用命令(快捷键Ctrl+Alt+T),输入:sudo apt-get install wine按回车  注:wine是在ubtuntn系统使用navicate的前提,因为navicate默认是在windows环境下使用的4、     第一种:在下载的navicat中找到star...

2018-04-12 08:45:01 582

原创 SpringCloud 入门探索之Eureka

        经过上篇文章(SpringCloud入门探索)的讲解相信大家对SpringCloud有了大概的认识,今天就为大家讲解SpringCloud中的一个关键组件Eureka,也是所有服务之间相互调用API的基础。        Eureka:又分为Eureka客户端和Eureka服务器,Eureka服务器:服务注册中心,Eureka客户端:需要注册的服务。说的通俗易懂点Eureka服务器...

2018-04-11 21:15:08 14995

原创 SpringCloud入门探索

        对于刚接触SpringCloud框架的同学而言看到官方文档后然后就会马上意识到了什么叫“一脸懵逼的来,一脸懵逼的走”。首先需要理解什么是SpringCloud,说的通俗易懂点就是SpringCloud就是将原本一个大的项目拆分成一个个的服务然后进行敏捷开发,通过下面这张图可以很容易就理解SpringCloud实际就是(API Gateway Services+Backend Ser...

2018-04-11 20:16:59 14570

原创 ubuntu 连接MySQL详细步骤(亲测可用)

远程连接服务器Mysql步骤其实很简单 1、授予远程登录权限、 2、关闭防火墙 3、测试远程连接

2017-04-16 11:15:27 6277

价值800元的jvm详细教学视频

详细讲解jvm工作原理以及相关知识,对jvm进行详细讲解,也是通过购买得来,资源来之不易

2019-03-25

03xls格式报表导出、07xlsx格式导出、csv格式报表导出工具类

报表导出工具类支持xls、xlsx、csv格式,里面有测试方法,封装好的方法可以直接调用对应方法即可,如果报错请导入响应的jar包 亲测很好使

2017-09-12

jdk1.6.0_144

java version "1.6.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

2017-09-11

java验证码

java验证码亲测可用 有文档教程

2017-01-31

c3p0所需要的所有jar包以及mysql驱动包

c3p0所需要的所有jar包以及mysql驱动包和c3p0原始代码包

2017-01-30

空空如也

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

TA关注的人

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