自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ShardingSphere 系列

ShardingSphere 系列1、ShardingSphere基本概念2、ShardingSphere 之 Sharding-JDBC实现水平分表3、ShardingSphere 之 Sharding-JDBC 实现水平分库4 ShardingSphere 之 Sharding-JDBC 实现垂直分库5、ShardingSphere 之 公共表6 ShardingSphere 读写分离Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JD

2020-07-04 08:36:14 178

原创 3 Curator框架实现分布式锁

1 pom.xml<?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://maven.apache.org/POM/4.0.0 http://maven.apache.o

2021-07-11 18:20:30 189 1

原创 2 原生Zookeeper 实现分布式锁

1 原生分布式锁package com.ccb.zookeeper.lock;import org.apache.zookeeper.*;import org.apache.zookeeper.data.Stat;import java.io.IOException;import java.util.Collections;import java.util.List;import java.util.concurrent.CountDownLatch;public class Dist

2021-07-11 18:19:25 174

原创 1 Zookeeper安装

文章目录1 安装jdk2 下载安装包到/opt3 解压到当前目录4 拷贝到/usr/local/zookeeper目录5 在/usr/local/zookeeper/下创建data目录6 将/conf目录下配置文件改名7 修改zoo.cfg配置8 启动zk服务端9 查看进程10 启动zk 客户端11 查看客户端节点12 退出zk客户端13 查看zk服务端状态14 停止zk服务1 安装jdk前提必须2 下载安装包到/optapache-zookeeper-3.6.3-bin.tar.gz3 解压到

2021-07-07 02:43:31 774

原创 Spring 事务基于注解和xml方式

文章目录基于注解方式的Spring事务配置1 创建表结构2 创建实体类3 创建Dao4 创建DaoImpl5 创建Service6 创建SrviceImpl7 创建TxConfig8 创建Test基于xml方式Spring事务配置1 创建表结构2 创建实体类3 创建Dao4 创建DaoImpl5 创建Service6 创建ServiceImpl7 beans.xml8 创建Test基于注解方式的Spring事务配置1 创建表结构SET NAMES utf8mb4;SET FOREIGN_KEY_CH

2021-07-01 23:23:27 221

原创 10 Redis 主从复制

文章目录1 是什么2 能干嘛3 主从复制搭建3.1 根目录下创建目录/myredis3.2 修改/myredis中redis.conf3.3 vim redis6379.conf3.3.1 在/myredis 目录下增加配置文件redis6379.conf,并添加配置3.3.1 在/myredis 目录下增加配置文件redis6380.conf,并修改配置3.3.1 在/myredis 目录下增加配置文件redis6381.conf,并修改配置3.4 分别启动三个redis服务3.4.1 查看进程是否正常启

2021-05-06 01:47:53 197

原创 9 Redis 持久化AOF

文章目录1 AOF(append only file)1.1 AOF是什么1.2 AOF 持久化流程1.3 AOF 默认不开启1.4 AOF 和RDB同时开启听谁的1.5 AOF启动修复恢复1.6 AOF 同步频率1.7 Rewrite压缩1.8 优势1.9 劣势2 小总结(which one)1 AOF(append only file)1.1 AOF是什么以日志的形式来记录每个写操作(增量保存),将redis 执行过的所有写指令记录下来(读操作不记录),只允许追加文件但不可以改写文件,reids

2021-05-06 01:47:17 190 1

原创 8 Redis 持久化RDB

1 RDB 总体介绍在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话将的snapshot快照,它恢复时是将快照文件直接读到内存里。单位时间内,更新的key越多,保存的快照间隔时间越短60分钟改了1次key5分钟改了100次key1分钟内改了1w次key就更新快照DB# Unless specified otherwise, by default Redis will save the DB:# * After 3600 seconds (an hour) if at least

2021-05-06 01:46:47 136 1

原创 7 Redis 事务

文章目录1 Redis 事务的定义2 Multi、exec、discard2.1 multi 开启事务,exec 提交事务2.2 multi 开启事务,discard放弃事务3 事务的错误处理3.1 组队中出现了错误3.2 执行时出现了错误4 事务冲突的问题4.1 乐观锁4.2 悲观锁4.3 Watch key4.3.1 乐观锁案例1 Redis 事务的定义Redis 事务是一个单独的隔离操作:事务中的所有命令都会序列化、顺序执行。事务在执行过程中,不会被其他客户端发送过来的命令请求所打断。Redis

2021-05-04 23:22:31 69

原创 6 Springboot 整合Redis

文章目录1 pom.xml2 application.yml3 RedisConfig4 RedisController5 RedisSpringBootApplication6 http://localhost:8080/redis1 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww

2021-05-04 02:39:44 286

原创 5 Jedis 操作

文章目录1 pom.xml2 JedisTest3 手机验证码1 pom.xml<?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://maven.apache.org

2021-05-04 02:37:47 234

原创 4 Redis的发布订阅

Redis 的发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息Redis 客户端可以订阅任意数量的频道。先订阅后发布才能收到消息1 打开一个客户端订阅channel1[chengwen@localhost redis]$ redis-server /etc/redis.conf [chengwen@localhost redis]$ redis-cli 127.0.0.1:6379> subscribe channel1Reading me

2021-05-03 19:51:19 67

原创 3 Redis 配置文件

文章目录1 Redis 全局配置1.1 redis.conf启动配置1.2 units单位2 NETWORK2.1 bind 绑定ip2.2 port端口2.3 tcp-backlog2.4 timeout 超时时间2.5 tcp-keepalive 心跳监测周期3 GENERAL 通用配置3.1 daemonize 开启守护进程,后台启动3.2 pidfile 进程号文件3.3 loglevel 日志级别3.4 logfile 日志输出路径3.5 databases 数据库大小4 SECURITY 安全4

2021-05-03 19:20:02 113 2

原创 2 Redis基本知识

文章目录1、基本知识1.1、select 切换数据库1.2、dbsize 查看当前数据库key的数量1.3、flushdb 清空当前库1.4、flushall 清空全部库(16个库)1.5、端口6379由来1.6、统一密码管理1.7、单线程+多路IO复用2、redis键(key)2.1 keys * 查看当前库所有key(匹配:keys *1 )2.2 exists key 查看库中是否存在key2.3 type key 查看制定key的类型2.4 del 删除key数据2.5 unlink key 根据

2021-05-02 19:47:01 440 1

原创 1 Redis安装

文章目录1、下载安装包2、解压3、安装4、拷贝配置文件到根目录下/myredis5、配置redis为后台启动6、启动redis服务端7、redis客户端连接服务端8、退出redis客户端9、停止redis1、下载安装包cd /optwget http://download.redis.io/releases/redis-4.0.1.tar.gz2、解压tar zxvf redis-4.0.1.tar.gz3、安装cd redis-4.0.1makecd srcmake insta

2021-05-02 19:44:25 60

原创 Git常用命令

文章目录1、git init进入项目根目录后,执行git init通过ls -la 可以查看隐藏目录.git进入.git目录可以看到git的初始文件设置签名2、查看工作区、暂存区的状态git status3、将工作区新建、修改添加到暂存区git add [file name]4、将暂存区的代码删除git rm -r --cached [file name]5、将暂存区提交到本地库git commit [file name]6、将暂存区的内容提交到本地库git commit -m "commit messag

2021-04-10 23:54:25 725

原创 9 项目风险管理

文章目录1 项目风险管理概述1.1 项目风险定义1.2 风险的属性1.3 风险的分类1.4 风险成本及其负担1.5 项目风险管理过程1.6 项目风险管理在项目管理中的地位与作用2 规划风险管理2.1 规划风险管理的依据2.2 规划风险管理的工具与技术2.3 规划风险管理的成果3 识别风险3.1风险识别的依据3.2 风险识别的工具与技术3.3 识别风险的成果4 实施定性风险分析4.1 实施定性风险分析的依据4.2 实施定性风险分析的工具与技术4.3 实施定性风险分析的成果5 实时定量风险分析5.1 实施定量风

2020-10-25 18:00:59 452

原创 8 项目沟通管理和干系人管理

文章目录1 项目沟通管理基础1.1 项目沟通管理的重要性1.2 项目沟通管理相关理论2 项目沟通管理过程2.1 规划沟通管理2.2 管理沟通2.3 控制沟通3 项目沟通管理的技术和工具4 项目干系人管理基础4.1 项目干系人的重要性4.2 项目干系人管理的主要内容4.3 项目干系人的管理依据5 项目干系人管理过程5.1 识别干系人5.2 规划干系人管理管理干系人5.4 控制干系人参与6 项目干系人管理的技术和工具6.1 干系人分析6.2 专家判断6.3 会议6.4 分析技术5 沟通方法6 人际关系技能7 管

2020-10-20 18:46:15 1565

原创 7 项目人力资源管理

文章目录1 项目人力资源管理概念1.1 项目团队1.2 项目管理团队1.3 领导和管理1.4 冲突和竞争2 项目人力资源管理过程2.1 规划项目人力资源管理2.2 组建项目团队2.3 建设项目团队2.4 管理项目团队3 项目人力资源管理工具3.1 虚拟团队3.2 集中办公3.3 团队发展阶段3.4 人际关系技能3.5 权力3.6 冲突管理3.7 激励理论3.8 马斯诺需求层次理论3.9 赫茨伯格双因素理论3.10 X理论和Y理论3.11 期望理论4 项目人力资源管理文件4.1 人力资源管理计划项目人力资源

2020-10-18 22:35:18 307

原创 6 项目质量管理

文章目录1 质量管理基础1.1 质量与项目质量1.2 质量管理1.3 质量管理标准体系2 项目质量管理过程2.1 规划质量管理2.2 实施质量保证2.3 控制质量3 项目质量管理的技术和工具3.1 规划阶段的技术3.2 执行阶段的技术1 质量管理基础1.1 质量与项目质量1 质量国际标准化组织 ISO 对质量的定义是:反映实体满足主体明确和隐含需求能力的特性总和。国家标准对质量的定义:一组固有特性满足要求的程度。通俗流行的定义是用户角度去定义质量:质量是对一个产品(包括相关的服务)满足程度

2020-10-17 19:10:45 791

原创 5 成本管理

文章目录1 概述1.1 项目成本概念及其构成1.2 项目成本管理作用和意义1.3 项目成本管理的重要性1.4 项目成本失控原因1.5 相关术语2 项目成本管理过程2.1 规划成本2.2 估算成本2.3 制定预算2.4 控制成本3 项目成本管理的技术和工具3.1 成本分析技术3.2 成本管理技术1 概述1.1 项目成本概念及其构成项目中,成本是指项目活动或其组成部分的货币价值或价格,包括为实施、完成或创造该活动或其组成部分所需资源的货币价值。具体的成本一般包括直接工时、其他直接费用、间接工时、其他间接费

2020-10-16 00:27:21 644

原创 4 项目进度管理

文章目录1 概述1.1 项目进度管理含义1.2 项目进度管理的作用2 项目进度管理过程2.1 规划进度管理2.2 定义活动2.3 排列活动顺序2.4 估算活动资源2.5 估算活动持续时间2.6 制定进度计划2.7 控制进度3 项目进度管理的技术和工具3.1 工作量和工期估算3.2 项目活动排列顺序的技术和工具3.3 制定项目进度计划的技术和工具3.4 项目进度计划调整方法1 概述项目进度管理包括为管理项目按时完成所需的7个过程规划进度管理:为规划、编制、管理、执行和控制项目进度而制定政策、程序和文档

2020-10-14 23:58:50 842

原创 3 项目范围管理

文章目录1 范围管理概述1.1 产品范围与项目范围1.2 范围管理的重要性1.3 范围管理的过程1.3.1 规划范围管理:1.3.2 收集需求:1.3.3 定义范围:1.3.4 创建WBS:1.3.5 确认范围:1.3.6 控制范围:2 规划范围管理2.1 范围管理计划2.2 需求管理计划2.3 收集需求2.3.1 需求的分类2.3.2 收集需求的工具与技术2.3.3 需求文件2.3.4 需求跟踪2.4 定义范围2.4.1 定义范围的工具与技术2.4.2 项目范围说明书2.5 创建工作分解结构(WBS)2.

2020-10-13 19:39:21 290

原创 2 项目整体管理

文章目录1 项目整体管理概述2 制定项目章程2.1 制定项目章程过程2.2 制定项目章程的依据2.3 专家判断2.4 项目选择方法2.5 项目启动会议2.6 项目目标2.7 引导技术3 制定项目管理计划3.1 项目管理计划3.2 制定项目管理计划过程3.3 项目管理信息系统3.4 指导与管理项目执行3.5 监控项目工作3.6 实施整体变更控制3.7 结束项目或阶段1 项目整体管理概述项目管理包括范围、进度、成本、质量、人力资源、沟通、风险和采购几个方面,相互影响和制约的。包含六个过程启动过程组–制定

2020-10-10 16:12:34 140

原创 1 项目立项管理

文章目录一、立项管理的内容1 项目建议书1.1 项目建议书概念1.2 项目建议书的内容2 项目可行性研究3 项目招标与投标3.1 招标3.2 投标3.3 评标3.4 选定项目承建方二、可行性研究1、可行性研究的内容2、可行性研究的步骤3、初步可行性研究3.1 初步可行性研究的定义及目的3.2 初步可行性研究的主要内容3.3 初步可行性研究的结果及作用3.4 辅助研究4、详细可行性研究4.1 详细可行性研究的依据4.2 详细可行性研究的原则与程序框架4.3 详细可行性研究的方法4.4 详细可行性研究的内容4.

2020-10-01 12:18:54 349

原创 9、ShardingSphere 之 Sharding-Proxy 读写分离

文章目录1 创建三个数据库2 修改conf目录的conf-master-slave.yaml3 启动Sharding-Proxy服务3.1 进入Sharding-Proxy的bin目录3.2 出现3307端口并且ACTIVE表示启动成功4 通过Navicat for MySQL 连接sharding-proxy 服务端4.1 查看数据库4.1 在主数据库和从数据库中都创建表4.2 向表中添加数据(不指定数据库)4.3 分别向从库中添加数据5 在不指定数据库时查询数据,会交替查询从库0 和从库11 创建三个

2020-07-05 14:25:14 1362

原创 8、ShardingSphere 之 Sharding-Proxy 实现分库分表

文章目录1 创建两个数据库edudb1、edudb22 进入conf目录配置conf-sharding.yaml3 启动Sharding-Proxy服务4 通过Navicat for MySQL 连接sharding-proxy 服务端4.1 查看数据库4.2 向数据库sharding_db中创建表4.3 向t_order表中添加数据4.4 查看添加的结果5 打开本地3306数据库,发现已经在对应的分库创建好了对应的分表并添加好了数据1 创建两个数据库edudb1、edudb22 进入conf目录配置c

2020-07-05 11:42:42 743

原创 7、ShardingSphere 之 Sharding-Proxy

文章目录简介1 进入conf目录,修改server.yaml2 进入conf目录,修改config-sharding.yaml2.1 拷贝mysql驱动到Sharding-Proxy的lib目录2.2 修改 config-sharding.yaml 文件2.3 本地创建一个数据库3 启动Sharding-Proxy服务4 通过Sharding-Proxy启动端口进行连接4.1 打开Navicat for Mysql 15 连接sharding-proxy4.2 进行sql命令操作看到只有一个库4.3 在sh

2020-07-05 09:55:48 998 1

原创 6、ShardingSphere 之 读写分离

文章目录1 读写分离原理2 Mysql 配置主从复制2.1 创建2个Mysql 数据库服务,并启动两个Mysql服务2.2 配置Master库的/etc/my.cnf2.3 配置Slave库的/etc/my.cnf2.4 Master上创建用于主从复置的账号2.5 Slave上设置从库向主库同步3 ShardingSphere实现读写分离3.1 配置properties3.2 编写po3.3 编写mapper3.4 编写Test3.5 TestRest1 读写分离原理为了确保数据库产品的稳定性,很多数据

2020-07-02 07:55:09 2218

原创 4、Mysql 主从复制报错[ERROR] [MY-013117] 踩坑

2020-07-01T14:34:42.709318Z 12 [ERROR] [MY-013117] [Repl] Slave I/O for channel ‘’: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-s

2020-07-02 00:02:41 4060

原创 3、MySQL 8.0.20在Linux(centos 8)上搭建主从复制

文章目录1 Master上配置1.1 配置Master库的/etc/my.cnf1.2 主要配置2 Slave上配置2.1 配置Slave库的/etc/my.cnf2.2 主要配置3 Master上创建用于主从复置的账号4 Slave上设置从库向主库同步5 创建数据库数据表1 Master上配置创建2个Mysql 数据库服务,并启动两个Mysql服务1.1 配置Master库的/etc/my.cnf[mysqld]bind-address = 0.0.0.0basedir=/usr/local/

2020-06-30 19:40:17 284

原创 5、ShardingSphere 之 公共表

文章目录1 公共表2 在多个数据库中创建公共表2.1 edudb1库中t_dict2.2 edudb2库中t_dict2.3 userdb库中t_dict3 创建po4 创建mapper5 创建application.properties配置文件6 Test7 Test result1 公共表1.1 存储固定数据的表,表数据很少发生变化,查询时候经常进行关联1.2 在每个数据库中创建出相同结构公共表2 在多个数据库中创建公共表2.1 edudb1库中t_dictCREATE TABLE `edu

2020-06-25 17:24:06 1136

原创 4、ShardingSphere 之 Sharding-JDBC 实现垂直分库

1 实现垂直分库,专库专表实现目标,用户查询用户信息的时候,只操作user_db中t_user表2 创建数据库CREATE SCHEMA `userdb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;3 创建数据表CREATE TABLE `userdb`.`t_user` ( `user_id` BIGINT NOT NULL, `user_name` VARCHAR(45) NOT NULL, `u_st

2020-06-25 09:09:50 798

原创 3、ShardingSphere 之 Sharding-JDBC 实现水平分库

文章目录1.1 按照水平分库的方式创建数据库和数据表1.1.1 创建分库11.1.2 创建分库21.1.3 创建分库1中的表11.1.4 创建分库1中的表21.1.5 创建分库2中的表11.1.6 创建分库2中的表21.2 创建SpringBoot工程1.2.1 pom.xml 如下:1.2.2 创建po实体类1.2.3 创建mapper 接口1.2.4 添加到MapperScan扫描1.3 配置水平分库策略1.4 测试水平分库1.5 Test Result1.5.1 分库1表1结果1.5.2 分库2表2结

2020-06-24 17:08:02 368

原创 2、ShardingSphere 之 Sharding-JDBC实现水平分表

文章目录1 Sharding-JDBC简介2 Sharding-JDBC3 Sharding-JDBC实现水平分表3.1 搭建环境3.1.1 总体概览3.1.2 创建SpringBoot工程3.1.3 按照水平分表的方式,创建数据库和数据库表3.2 代码实现3.2.1 创建po实体类3.2.2 创建mapper 接口3.2.3 添加到MapperScan扫描3.3 配置分片策略3.4 Test3.5 Test result1 Sharding-JDBC简介是轻量级的java框架,是增强版的JDBC驱动,

2020-06-22 01:13:19 632

原创 1、ShardingSphere基本概念

文章目录1 什么是ShardingSphere2 什么是分库分表3 分库分表的方式3.1 垂直切分3.1.1 垂直分表3.1.2 垂直分库3.2 水平切分3.2.1 水平分表3.2.2 水平分库4 分库分表应用和问题4.1 应用4.2 问题1 什么是ShardingSphere一套开源的分布式数据库中间件解决方案有三个产品:Sharding-JDBC和Sharding-Proxy定位为关系型数据库中间件,合理在分布式环境下使用关系型数据库操作2 什么是分库分表数据库数量不可控,随着时间和业

2020-06-22 00:49:50 459

原创 2、Mysql 8.0.20最新版本修改密码

文章目录1、mysql 配置文件目录添加如下命令行跳过密码:/etc/my.cnf2、重启mysql 服务3、登录mysql 不输入密码4、进入后使用进行修改5、记得去/etc/my.cnf 把skip-grant-tables 删掉6、重启mysql服务1、mysql 配置文件目录添加如下命令行跳过密码:/etc/my.cnfvim /etc/my.cnf skip-grant-tables效果如图[mysqld]basedir=/usr/local/mysqldatadir=/usr/

2020-06-07 19:13:20 1405 1

原创 1、MySQL 8.0.20最新版本在Linux上安装

文章目录1、下载安装包2、解压安装3、拷贝到 /usr/local并重命名为mysql4、删除/opt目录下解压的文件(也可以保留)只留下安装包5、创建mysql用户组和用户并修改权限6、在/usr/local/mysql/下创建data目录并赋权限7、创建/var/lib/mysql目录并赋权限8、配置my.cnf9、初始化数据库10、启动mysql11、修改root密码12、配置远程连接13、设置mysql启动目录1、下载安装包下载路径:https://dev.mysql.com/downloads

2020-06-07 13:10:48 1026 2

原创 7、Docker容器数据卷volumes-from

文章目录1、运行dc01容器2、运行dc02容器3、运行dc03容器4、回到dc01查看容器5、当删除dc01容器后,其他容器内容仍然存在小实验目的,通过volumes-from实现多个容器文件共享,有继承之意1、运行dc01容器docker run -it --name dc01 chengwen/centos查看容器目录,并进入dataVolumeContainer2 新建文件 dc01_add.txt[root@99ed34ced394 /]# ls -ltotal 24lrwxrwx

2020-05-31 17:20:49 289

原创 6、Dcoker 容器数据卷用DockerFile添加

文章目录1、根目录下创建mydocker目录并进入2、File 构建3、build 后生成新的镜像4、运行容器生成容器卷5、查看新建的容器卷6、查看宿主机上新建的文件7、容器目录中新建文件,在宿主机中可以共享看到1、根目录下创建mydocker目录并进入cd /mkdir mydocker2、File 构建# volume testFROM centosVOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]CMD echo "fin

2020-05-31 13:26:50 145

空空如也

空空如也

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

TA关注的人

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