自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邱健的博客

当你的才华还撑不起你的野心,那你就应该静下心学习。 当你的经济还撑不起你的梦想,那你就应该踏实的工作。

  • 博客(71)
  • 问答 (5)
  • 收藏
  • 关注

原创 1:开启慢查询日志 与 找到慢SQL

找到要优化的sql,慢查询日志是mysql自带的一项功能,可以记录执行超过指定时间的sql语句。

2022-07-26 22:16:17 1009 1

原创 Redis 主从架构的搭建

1:先介绍环境两台阿里云服务器 : Master(34)阿里云 Slave(226)阿里云操作系统:CentOS 7.9 64位Redis版本:6.2.6通信:采用内网IP2:每台服务器安装Redis之前写过一篇安装Redis 教程可用3:Slave节点的搭建(1):打开配置文件cd /usr/local/redis-6.2.6/vim redis.conf2:slave节点的设置replicaof masterip地址 端口masterauth master密码

2022-03-04 12:34:55 2322

原创 3:Mysql 主从复制搭建

1:先介绍环境两台阿里云服务器 : Master(34)阿里云 Slave(226)阿里云操作系统:CentOS 7.9 64位Mysql版本:8.0.28通信:采用内网IP2:每台服务器安装Mysql之前写过一篇安装Mysql 教程可用3:搭建主从复制1:主节点的搭建(1):编辑配置文件vim /etc/my.conf 文件, 在[mysqld] 下添加# Mysql的bin-log的名字log-bin=mysql-bin# Mysql实例中全局唯一,并且大于0

2022-03-03 14:50:43 732 1

原创 前端传入字符串日期yyyy-mm-dd ,后端Date接收自动多8个小时

错误重现:前端传入 ‘2021-08-16’后端用 Date 接收会默认以系统的时区 设置 时分秒的默认值。变成 2021-08-16 08:00:00内部具体实现:StdDeserializer 类 _parseDate(String value, DeserializationContext ctxt) 方法解决方法:1:前端传入 时间戳 1644336000000 接收时会显示成 2022-02-09 00:00:002:把数据结构改为 字符串.

2022-02-09 17:04:03 1563

原创 Invalid packaging for parent POM x, must be “pom“ but is “jar“ @

在顶级pom 已经加了 pom 的情况下还报这个错,导致原因是 module 子项目的 pom中加了 标签

2022-01-26 15:00:49 536

原创 mysql分页出现问题

错误问题:查询账单记录列表,出现少一条订单,并且重复一条订单伪代码如下:SELECT idFROM xxxORDER BY updated_time DESC, created_time DESC LIMIT 0,10;SELECT idFROM xxxORDER BY updated_time DESC, created_time DESC LIMIT 10,10;导致原因是:在两个排序字段的值,都一致的情况下。order by 排序的顺序会随机选一个在第一页

2022-01-14 22:30:19 425

原创 从零搭建 RocketMQ Dledger集群(公网服务器)

3台个人云服务器 A(20)阿里云 B(37)腾讯云 C(44) 腾讯云操作系统版本:CentOS 7.7 64位 RocketMQ版本:4.820 这台作为Master 37、44作为Slave开放端口:5672 15672 25672 4369

2021-10-26 16:06:37 755

原创 记录下在线扩容服务器遇到的问题 NOCHANGE: partition 1 is size 419428319. it cannot be grown

全程安装步骤(NOCHANGE问题直接调到文章结尾)1: fdisk -lu 列出所有分区表和显示分区数目,我的理解就是查看你目前最大能扩容到的容量,我这边是200G2: df -h 查看磁盘占用的空间我的理解就是目前你的磁盘容量大小, /dev/vda1 就是我们日常使用的,我这边是40g ,还剩下20k容量。还没有到达 200G ,所以要执行扩容操作3: blkid 对设备上所采用文件系统类型进行查询我的理解就是查看你的磁盘用的什么 文件系统类型,我这边用的是

2021-07-12 10:47:31 7803 2

原创 CentOS7 安装Mysql

1:进入mysql官网 https://www.mysql.com/ 1231 213 123123

2021-03-14 23:12:37 172

原创 微服务架构认知、服务治理-Eureka

微服务架构认知、服务治理-Eureka

2021-02-28 19:27:04 132

原创 2:为什么要读写分离

1:为什么数据库要读写分离在互联网的系统应用是一个 读多写少的应用,比如电商系统中,商品浏览的次数是比下单要多的。数据库承载压力大,主要是由这些读的请求造成的,那么我们是不是可以把读操作和写操作分开,让所有读的请求落到专门负责读的数据库上,所有写的操作落到专门负责写的数据库上,写库的数据同步到读库上,这样保证所有的数据修改都可以在读取时,从读库获得,系统的架构如图所示:如果系统的读请求比较多的话,读库可以多部署几台,这样读请求就可以均摊到多台读库上,降低每一个读库上的压力。但是在写数据的时候..

2021-01-16 18:28:57 3373

原创 1:为什么数据库要分库分表

1:为什么要分库分表业务快速发展,单数据库出现性能瓶颈的时候,要将数据进行切分。将原来在一台数据库上的数据,分散到多台数据库中,降低单体数据库负载2:数据切分类型1:垂直切分垂直切分是将多个业务模块拆分到多个数据库中,也就是将原有单个数据库的表根据业务模块放入多个数据库中。比如,订单表和商品表在同一个数据库中,而现在我们要对其进行切分,使得订单表和商品表分别落在不同的物理机中的不同数据库中,使其完全隔离,从而达到降低数据库负载的效果。如图所示:优点:拆分后业务清晰,拆分规则明

2021-01-16 16:53:03 563 1

原创 项目不报错,正常运行,无法请求到服务

先说我最终的解决办法:debug启动方式 ,无法启动。 不开启debug 正常运行方式可以正常启动idea断点打在了方法名上,导致项目无法运行

2020-12-26 10:12:18 7026 6

原创 org.elasticsearch.index.query.QueryShardException: failed to find geo_point field [geo]错误原因

报错意思是 错误的找不到 geo_point 类型, 名字叫做 geo 的字段先从我创建索引说起。1:用插件创建个名为 amap 的索引,里面的 mappings 都是为空的{"state": "open","settings": {"index": {"creation_date": "1606375206078","number_of_shards": "5","number_of_replicas": "1","uuid": "yxZUNDh_TH6u0TbS...

2020-11-26 15:36:38 4168

原创 微信小程序手机号正则校验规则

微信全世界手机号校验规则

2020-11-12 17:33:30 2846

原创 分布式锁-Zookeeper实现

1:Zookeeper基本概念Zookeeper 存储数据的结构是一个树1:分为持久节点 和 瞬时节点2:持久节点你的会话结束或者是 Zookeeper 重启,这些节点呢都是不会消失的,它会一直存在不会消失的,除非你手动删除这些节点3:瞬时节点(有序),Zookeeper 重启或者连接Zookeeper 会话断了,那么瞬时节点呢就会自动的去消失。瞬时节点不可以再去拥有子节点,如果当前节点是瞬时节点,那么子节点是不可能会存在的,为什么呢,因为如果你自动消失了,你这个瞬时节点的子节点是不是也会跟

2020-10-24 17:13:58 150

原创 分布式锁-Redis实现

1:Redis 分布式锁的原理获取锁的Redis命令:set resource_name my_random_value NX PX 30000resource_name 资源名称,可根据不同业务区分不同的锁my_random_value 随机值,每个线程的随机值都不同,用于释放锁时的校验,要保证每一个线程的随机值都不相同。为什么对值有这么高德要求?主要是为了校验值一样了才可以删除锁NX:key 不存在时设置成功,key 存在则设置不成功。我们就是用这个命令实现分布式锁,主要..

2020-10-03 08:46:59 1167

原创 分布式锁-数据库实现

1:for update 的原理select 检索出的数据, for update 加上了一把锁,其他的人是不能修改这个数据的,也不能在给这个数据加锁。其他线程可以检索出来,但是我在用 for update 再给这些数据加锁是加不上的,因为这个锁呢,已经被前一个线程给锁住了。其他人是不能给它加锁的,在加锁的期间,其他人也不能修改这些数据。因为update 更新数据呢,是要获取这些数据的锁的2:用native 测for update先将当前页面的数据库自动提交先关掉为什么要先关掉呢?你现在

2020-10-01 17:10:05 977

原创 MyBatis-Plus自动填充功能失效导致原因

1:先检查 字段有没有加上注解@TableField(fill = FieldFill.INSERT_UPDATE)@TableField(fill = FieldFill.INSERT_UPDATE) private Date updatedTime;2:有没有实现 MetaObjectHandler 接口 ,并且加入到 Spring 容器中@Componentpublic class MyMetaObjectHandler implements MetaObjec...

2020-09-14 16:58:57 7308

原创 Java中锁的解决方案

1、:乐观锁 与 悲观锁乐观锁与悲观锁应该是每个开发人员最先接触的两种锁。应用场景主要是在更新数据的时候,更新数据这个场景也是使用锁的非常主要的场景之一。更新数据的主要流程如下:检索出要更新的数据,供操作人员查看; 操作人员更改需要修改的值 点击保存,更新数据这个流程看起来很简单,但是我们用多线程的思维去考虑,这也应该算是一种互联网思维吧,就会发现其中隐藏的问题。我们具体看一下A检索出数据 B检索出数据 B修改了数据 A修改数据,系统会修改成功吗?1:乐观锁当然了,

2020-06-27 16:10:07 377

原创 2:什么是单体应用锁?什么是分布式锁?

1、:什么是单体应用锁?单体应用锁指的是只能在 一个JVM 进程内有效的锁。我们把这种锁叫做单体应用锁1、:单体应用锁的局限性1、:谈到局限性,先要讲讲互联网系统架构的演进过程在互联网系统发展之初,系统比较简单,消耗资源小,用户访问量也比较少,我们只部署一个Tomcat应用就可以满足需求。系统架构图如下:一个 Tomcat 可以看作是一个JVM进程,当大量请求并发到系统时,所有的请求都落在这唯一的一个Tomcat上,如果某些请求方法是需要加锁的,比如:秒杀扣减库存,是可以满足需求的,但

2020-06-26 18:45:51 1077

原创 1:初始锁这个概念

1:、什么是锁?锁在JAVA中是一个非常重要的概念,尤其是在当今的互联网时代,高并发的场景下,更是离不开锁。那么锁到底是什么呢?在计算机科学中,锁(lock)或互斥(mutex)是一种同步机制,用于在有许多执行线程的环境中强制对资源的访问进行限制。锁旨在强制实施互斥排他、并发控制策略。咱们举一个生活的例子来更好的理解锁:大家都去过超市买东西,如果你随身带了包呢,要放到储物柜里。咱们把这个例子再极端一下,假如柜子只有一个,现在同时来了3个人A,B,C,都要往这个柜子里放东西。这个场景就构造了一个多线程,多

2020-06-26 17:17:22 359

原创 Zookeeper集群

先介绍环境:3台个人云服务器A(20)B(37)C(26)开放端口:2181 28883888如果开启防火墙建议关闭查看防火墙状态: systemctl status firewalld.service绿的running表示防火墙开启执行关闭命令: systemctl stop firewalld.service再次执行查看防火墙命令:systemctl status firewalld.ser...

2020-06-13 13:49:50 190

原创 RabbitMQ整合springboot

producer 生产端springboot 版本 2.1.5 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> <.

2020-05-31 15:21:13 253

原创 RabbitMQ 集群-镜像队列

先介绍环境:3台个人云服务器 A B CA:6379 B:6379 C:6378 作为主 C:6379 D:6378 D:6379 作为从1:首先准备三台服务器https://blog.csdn.net/publicv/article/details/96421936

2020-05-30 15:36:55 558

原创 分布式文件系统FastDFS 分布式安装实战

安装环境:fastdfs 6.04nginx 1.16.1 两台centos 7.6 没有装过nginx云服务器安全组开放端口:23000、22122、8888、80、需要下载的资源官方下载地址:https://github.com/happyfish100/ https://github.com/happyfish100/fastdfs/wiki https://www.cnblogs.com/leechenxiang/p/5406548.html https:...

2020-05-10 20:34:27 214

原创 https 证书配置无效排查思路(过程)

配置了 https 证书 ,却不生效,类似下图1:确认证书是否有效2:打开 Chrome 控制台 Security 选项 , 有报红的地方就是 引用了 http 资源,那么需要将这些http 资源修改为 https3:Chrome 控制台 Network 选项 查看是否有报红的地方 ,无法访问 。从http 切换成 https 图片全部挂掉4:将 报红资源 url 地方复制到 地址上 确认下能不能访问5:我的是可以访问 ,在这个页面上...

2020-05-08 18:25:12 3216

原创 ElasticSearch 安装实战

官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch 自己下载的资源路径:https://apk-1257934361.cos.ap-guangzhou.myqcloud.com/elasticsearch-7.6.2-linux-x86_64.tar.gz ...

2020-04-25 15:23:30 320

原创 搜索引擎的核心原理-倒排索引

什么是正排索引?通过搜索 id 去查询内容属性,例如:查询id 12 对应的数据什么是倒排索引?通过搜索属性值找到对应的id 查询出数据正排索引的效率和倒排索引的效率?正排索引:假如现在有 100W 条数据 ,搜索出包含 邱健的内容,那么根据ID 一条一条的去查询其中是否包含 邱健 这个关键字 倒排索引:假如现在有 100W 条数据 ,搜索出包含邱健的内容,那么会去单词库中查询出邱健这...

2020-04-25 10:59:23 265

原创 Redis 集群实战

先介绍环境:4台个人云服务器 A B C D ,3主3从A:6379 B:6379 C:6379 作为主 C:6378 D:6378 D:6379 作为从为了最大程度上保证大家环境能一致 ,我将之前搭建好的 cluster 全部清空 。重新安装redis.conf 文件配置bind 127.0.0.1 设置为 bind 0.0.0.0 ...

2020-04-12 14:15:58 317

原创 Redis 哨兵机制实战

前提环境:已经实现 主从复制准备三台服务器 A B C ,目标:A作为主 B C作为从1:在B和 C 打开 redis.conf 配置文件, 搜索 REP2:在注释的命令下面写上 replicaof master的IP地址 端口# replicaof <masterip> <masterport...

2020-04-08 20:59:50 200

原创 Nginx 的反向代理缓存

要求 集群 的每台服务器都一致的内容 访问路径 upstream colony { #hash $request_uri; #least_conn; #根据每次请求的url地址,hash后访问到固定服务器节点 server 192.168.1.20; server 192.168.1.37; server 192.168.1.26; k...

2020-03-08 14:23:17 153

原创 Nginx 负载均衡 ip_hash , hash key(consistent) url_hash, least_conn

ip_hash upstream colony { ip_hash; server 192.168.1.20; server 192.168.1.37; server 192.168.1.26; keepalive 32; }我本机访问只会落在 26这台服务器上本质上是 根据用户的ip hash 之后值分配 到指定的一台服务器里面可以保证只要ip...

2020-03-08 14:18:26 1200 1

原创 Nginx 提升吞吐量利器 Keeplived

proxy_http_version 默认是1.0没有长连接 采用1.1proxy_set_header 清除请求头中连接信息 upstream colony { server xxx.xx.xxx.xx weight=1; #keepalive 32; } server { listen 8088; server_name blogspring.cn; l...

2020-03-08 14:04:17 862

原创 Nginx Gzip 的正确使用

gzip on;这样是无效的 并没有进行压缩gzip on;gzip_types text/css;需要指定 gzip 的压缩类型 ,例如 css压缩后的对比

2020-03-08 14:00:46 228

原创 Nginx 切割日志

Nginx 日志切割-手动现有的日志都会存在access.log文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维人员查看,所以我们可以通过把这个大的日志文件切割为多份不同的小文件作为日志,切割规则可以以天为单位,如果每天有几百G或者几个T的日志的话,则可以按需以每半天或者每小时对日志切割一下。具体步骤如下:创建一个shell可执行文件:cut_my_...

2020-03-08 13:46:29 138

原创 spring boot 聚合工程打包war

1:在启动类的项目工程 pom文件修改打包方式为 war<packaging>war</packaging>2:移除内置的tomcat:总工程的 pom 文件内,右键 Maven - Show dependencies 。找到 spring-boot-starter-tomcat ---右键Exclude 排除掉3:总工程的 pom 文件内添加...

2020-01-26 16:15:59 1121

原创 安装ubuntu server 踩过的一些坑记录

环境介绍:有独立显卡 有装 win10 系统顺序不代表执行时的顺序遇到的第一个问题:我把显示器的 VGA 插到了 主板的核显上,导致画面无法显示怎么解决的:因为有装独立显卡,所以自然是装到独立显卡上咯遇到的第二个问题:U盘里面的 ubuntu server 怎么装啊?怎么解决的:需要使用引导软件,写入硬盘映像,制作成可引导安装U盘遇到的第三个问题:选错引...

2020-01-18 09:35:10 949

原创 CentOS7 安装JDK

1:检查linux 上是否已经安装了javajava -version图中所示没有找到这个命令 ,说明没有安装2:新建jdk安装目录mkdir /usr/java3:点击xshell 标记的图标 ftp将本地下载好的 java8 tar包丢到 服务器下4:tar -zxvf 你的 .tar.gz 包tar -zxvf jdk-...

2020-01-12 19:49:29 245

原创 Nginx的安装

1. 去官网 nginx.org 下载对应的nginx 包2. 上传到linux 服务器上3. 安装依赖环境(1)安装gcc 环境 nginx 是c 语言写的,所以需要安装c 环境yum install gcc-c++(2)安装PCRE库,用于解析正则表达式 yum install -y pcre pcre-devel(3) zlib压缩和解...

2019-12-29 15:29:42 139

空空如也

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

TA关注的人

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