自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 源码解析,Broker启动触发客户端消费者重新负载均衡

找到org.apache.rocketmq.broker.BrokerStartup启动类的main方法 public static void main(String[] args) { start(createBrokerController(args)); }找到org.apache.rocketmq.broker.BrokerStartup#createBrokerController方法下的这几行代码 final BrokerControl

2022-04-22 17:30:42 305

原创 源码分析,RocketMQ消费者启动,如何触发消费者负载均衡

为了记录自己学习RocketMQ源码,记录一下,顺便分享一下学习过程RocketMQ版本为4.9.3源码,idea打开源码看着会直观一点消费者启动类org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl,找到start()方法的最后一行代码public synchronized void start() throws MQClientException { ...... ...... ...... //此处省

2022-04-22 16:23:26 317

原创 RocketMQ-Console安装

一, 使用docker安装1 获取Docker镜像方式一: 下载源码:在源码目录下执行mvn命令获取docker镜像#进入srv目录cd /srv#创建source目录mkdir source#进入source目录cd source#下载源码git clone https://gitee.com/mirrors/RocketMQ-Externals.git#进入RocketMQ-Externals目录cd RocketMQ-Externals#切换分支release-rocketm

2021-12-23 10:20:31 896

原创 Centos7下RocketMQ单机环境搭建

1 下载源码# 进入/srv/source 目录, 没有目录的自行创建source目录cd /srvmkdir source# git克隆源码 git clone https://gitee.com/apache/rocketmq.git # 进入源码目录 cd /srv/source/rocketmq # 切换release-4.9.2分支到本地 git checkout -b release-4.9.2 origin/release-4.9.22 项目构建cd /srv/sour

2021-12-22 18:20:20 1246

原创 Centos7安装maven

1 Centos7系统下载maven安装文件maven下载地址:https://maven.apache.org/download.cgi下载地址为 https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gzcd /srvmkdir software# wget 命令下载要把https改为http下载wget -P /srv/software https://dlcdn.apache.

2021-12-22 15:45:28 292

原创 在一个事务的service方法里插入数据并且开启新的线程查询新增数据不一致

批量新增品牌数据, 然后新增完之后,在事务方法里开启线程执行所有品牌数量查询代码如下, 只展示相关代码 @Transactional(rollbackFor = Exception.class) @Override public void add(BrandEntity brand) {// baseMapper.insert(brand); List<BrandEntity> list = new ArrayList();

2021-09-25 15:07:16 898

原创 ReentrantLock 在@Transactional事务注解内的Service方法失效

业务场景如下:在单体应用高并发场景, 全校所有学生开始选课, 选课大家都是抢着选择热门的选修课的, 所以会产生高并发, 热门课程的席位是有限的, 比如某个热门课程仅限 100 名学生, 但是高并发场景下,执行以下代码, 经常超过100名学生抢到该热门课程以下代码只是大概, 并非可完整执行, 只是用于解释问题;//可重入锁,默认是非公平锁private Lock lock = new ReentrantLock(true);@Autowiredprivate CourseMapper cou

2021-09-03 10:46:54 563 1

原创 MySQL存储过程, 编写 查询出指定数据库中含有sid列名的表, 然后根据传入的sid参数条件删除所有表中的数据

-- 创建存储过程之前需判断该存储过程是否已存在,若存在则删除DROP PROCEDURE IF EXISTS delBySid;-- 创建存储过程(参数:数据库名databaseName ,指定某个列的参数值:tenant)CREATE PROCEDURE delBySid(in databaseName varchar(50), in tenant varchar(50))BEGIN -- 定义变量 -- 循环的初始值s DECLARE s int DEFAULT 0;

2021-04-24 22:30:27 192

原创 idea启动springboot项目, resources文件不编译, 放到src的xml文件也不编译,每次修改,只删除我修改的那个xml文件, 每次都要执行install

idea启动springboot项目, resources文件不编译, 放到src的xml文件也不编译一开始我的pom文件里放加了配置信息如下, 刚开始还可以,正常编译recourse的xml文件, 后来死活不行, 编译进去, 每次都要手动执行maven插件的install<!-该配置信息无法编译resources文件-> <resources> <resource> <directory>src/main/resource

2021-04-15 10:59:21 2885

原创 docker 安装nginx

1 下载镜像docker pull nginx latest # latest 代表最新版2 创建nginx容器并启动docker run -p80:80 --name nginx \-v /mydata/nginx/html:/usr/share/nginx/html \-v /mydata/nginx/logs:/var/log/nginx \-v mydata/nginx/conf:/etc/nginx \-d nginx:latest-v /mydata/nginx/html:

2021-04-01 14:52:16 175

原创 修改docker 容器中已启动的mysql映射主机端口

1 停止docker 服务systemctl stop docker2 修改hostconfig.json找到/var/lib/docker/containers/容器id 路径下的文件进入目录/var/lib/docker/containers/容器id, 修改hostconfig.jsonvi hostconfig.json找到这段内容, 第一个端口号3306是容器内部端口, HostPort就是主机端口号3306,“PortBindings”:{“3306/tcp”:[{“Ho

2021-03-15 23:08:43 880

原创 minio分布式对象存储系统linux部署

# 下载 miniowget https://dl.min.io/server/minio/release/linux-amd64/minio# 添加可执行权限chmod +x minio# 设置登录minio的 access keyexport MINIO_ACCESS_KEY=minioadmin# 设置登录minio的 secret keyexport MINIO_SECRET_KEY=minioadmin# 启动 minio, 默认端口9000, 添加address参数修改端口./

2021-02-19 11:41:13 285

原创 Centos7配置Tomcat7为系统服务并开机自启动

Centos7配置Tomcat7为系统服务并开机自启动配置 Tomcat 服务Tomcat 配置开机自启动Java项目启动时候报Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 解决办法解决办法配置 Tomcat 服务新建服务脚本[root@localhost ~]# vim /etc/init.d/tomcat添加脚本内容#!/bin/bash# description: Tomcat7 Start

2021-02-19 11:30:11 405

原创 centos7安装mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

1 检查系统是否默认安装mysql服务,如果安装,则卸载。1)检查命令rpm -qa|grep mysql2)卸载命令rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_642 如果是centos7,那么默认会安装一个mysql的分支数据库mariadb,必须先卸载此数据库1)查找rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_642)拷贝找到的列表,一个个卸载,如rpm -e --nodeps mariad

2020-11-30 11:43:02 1683

原创 MySQL查询语句的优化思路和原则

Query 语句的优化思路和原则主要提现在以下几个方面:1. 优化更需要优化的 Query2. 定位优化对象的性能瓶颈3. 明确的优化目标4. 从 Explain 入手5. 多使用 profile1、 开启 profiling 参数2、 执行 Query语句3、获取系统中保存的所有 Query 的 profile 概要信息4、针对单个 Query 获取详细的 profile 信息。6. 永远用小结果集驱动大的结果集7. 只取出自己需要的 Columns8. 仅仅使用最有效的过滤条件9. 尽可能避免复杂的 J

2020-07-29 17:20:11 257

原创 使用docker搭建MySQL双主备 + keepalived

使用docker搭建MySQL双主备 + keepalived一、MySQL配置双主备修改my.cnf配置之后,启动启动mysqlMySQL1配置MySQL2配置二、安装keepalived1、MySQL1安装keepalived2、MySQL2安装keepalivedCentOS7下配置防火墙放过Keepalived关闭Centos7 关闭SELINUX一级目录一级目录二级目录三级目录一、MySQL配置双主备双主备,其实就是做两个机器的互相主从,既是Master又是Slave,如下图所示:VMwa

2020-07-23 17:36:32 1839

原创 尝试docker安装Redis

记录docker安装Redis过程1.下载Redis镜像2.创建redis配置文件, 挂载到容器外部3.创建实例并启动redis4.使用redis镜像执行redis-cli命令连接5.持久化redis方式(AOF)6.重启redis7.开放端口7.关闭Centos7 关闭SELINUX1.下载Redis镜像docker pull redis2.创建redis配置文件, 挂载到容器外部mkdir -p /mydata/redis/conftouch /mydata/redis/conf/redis

2020-07-17 01:27:55 95

原创 使用docker安装mysql

使用docker安装mysql1.下载mysql镜像文件2 创建实例并启动三级目录1.下载mysql镜像文件docker pull mysql:5.72 创建实例并启动docker run -p 3306:3306 --name mysql\-v /mydata/mysql/log:/var/log/mysql\-v /mydata/mysql/data:/var/lib/mysql\-v /mydata/mysql/conf:/etc/mysql\-e MYSQL_ROOT_PASSWO

2020-07-16 00:25:00 273 1

原创 记 Mybatis 的IF标签条件判断参数为Integer类型的坑

如果rushAnswer这个参数为Integer类型, 当rushAnswer 等于 0 的时候, 条件判断返回false

2020-07-14 23:21:35 1471 3

原创 如何安装docker

Docker的安装1.如何卸载docker2.安装docker1.如何卸载docker首先更新升级yum包yum -y update如果有安装过, 可以执行删除docker, 以前没安装请忽略一下命令yum remove docker \ docker-client \ docker-client-latest \ docker-common \ doc

2020-07-14 23:18:34 340

原创 windows下mysql服务启动报错:1053错误:服务没有及时响应启动或控制请求

打算在公司的windows server 2012 服务器上安装mysql开启服务: net start mysql,出现1053错误:服务没有及时响应启动或控制请求解决办法:找到MySQL服务,右键属性–>登录–>选择此帐户–>浏览–>高级–>立即查找,在搜索结果下选择Administrator,点击确定,然后输入相应密码,确定。就能启动了。参考:https://www.cnblogs.com/huangrenhui/p/11351978.html...

2020-05-09 10:15:06 2958 1

原创 Java的关键字

关于MySQL创建表报错 Tablespace '`xxxx`' exists 解决办法一解决办法二在MySQL中,使用create table脚本建表时,提示:Tablespace ‘xxxx’ exists 。表已经存在,但是数据库里面根本没有这个表;解决办法一进入MySQL命令行,执行flush tables;命令。亲测,发现不适用于我的情况。解决办法二在操作系统中,进入MySQL...

2020-04-21 23:42:06 147

空空如也

空空如也

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

TA关注的人

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