自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

原创 RocketMQ【3】Rocketmq集群部署(多master多slave)异步复制

一个master对应一个slave,master负责读写,slave负责数据的备份不参与读写,这里属于是主备。一台机器需要同时配置主备。由于异步复制的优点,所以一台机器需要有master1和slave2,另一台机器徐瑶瑶master2和slave1,这样在一台机器挂了之后,剩下的一台机器可以直接将从节点转换为主节点。这里初步描述如何启动控制台,其他内容。

2023-03-06 02:02:28 444 1

原创 RocketMQ【2】Rocketmq控制台安装启动(单机版)

官网下载龟速,这里提供快速下载,Rocketmq控制台本质是一个springboot项目,在有些博客中,是将项目拉倒本地然后修改properties文件,然后修改pom文件,添加jaxb依赖,但其实不用,直接在包的同文件夹下新建一个application.properties文件即可。

2023-03-02 01:09:36 719

原创 RocketMQ【1】linux安装配置Rocketmq(单机版)

作为RocketMQ的第一章节,这章主要介绍在linux下RocketMQ的安装。主要涉及JDK安装配置、RocketMQ4.9的下载、RocketMQ的基本配置。以上为单机版的RocketMQ在linux环境下的安装配置,初步的测试发送和消费消息,后面的博客会继续写高级的内容。

2023-02-28 02:07:31 444

原创 SpringCloud Alibaba【四】Gateway网关配置

GatewayzuulZuul基于Servlet实现,为阻塞式编程,Gateway基于Spring5中的WebFlux,底层使用Netty,为响应式编程,性能更好。提示:以下是本篇文章正文内容,下面案例可供参考本章之作简单的介绍,详细在后面的博文。

2023-02-10 18:31:28 499

原创 SpringCloud Alibaba【一】Nacos集群部署配置

博客选择SLB模式,由Nginx充当负载均衡,部署三个nacos节点nacos建议部署在内网中,不暴露出外网。【nacos集群部署】,里面有详细的介绍可以看一下。单机版可以用作开发测试,生产环境就需要集群部署保持高可用。目前nacos支持Docker和K8s部署,本博客介绍的是除容器环境的基本服务器部署。【K8s下Nacos的集群化部署】

2023-02-09 18:48:26 664

原创 MySQL优化(1)执行计划explain中type属性详解

其实,意思就是虽然使用了索引,但该索引列的值并不唯一,有重复。但它的好处是它并不需要扫全表,因为索引是有序的,即便有重复值,也是在一个非常小的范围内扫描。range指的是有范围的索引扫描,相对于index的全索引扫描,它有范围限制,因此要优于index。,表示查询语句在查询数据的时候会将一个表里面的全部数据都轮询一遍,然后取出所需要的数据,也就是sql语句其实只是起到一个筛选的作用。在我们需要查询一张表里面的全部的数据的时候这样做是可以的,但在做除此之外的所有的查询的时候全表扫描的可优化场景是相当之多的。

2023-01-25 13:16:29 1143 1

原创 Java多线程【6】LockSupport park/unpark原理和使用以及于wait/notify的区别

一、paker1.Parker源码2.Parker组成1.1 _counter1.2 _mutex1.3 _cond3.Parker和线程的关系二、park1、系统底层mutex和condition2、park源码3、park方法的底层执行过程4、Java代码中park使用三、unpark1、unpark源码2、unpark底层执行3、Java代码中unpark使用总结1.park/unpark和wait/notify的区别1.1 是否需要获取锁(Monitor)....

2022-07-24 00:41:28 284

原创 Java多线程【5】异步模式之生产者消费者

保护性暂停为同步,生产者消费者模式为异步模式。生产消费者模式维护一个list,生产者负责产生结果数据不关心数据如何处理,消费者之专心处理结果数据。生产者消费者模式运用的非常广泛,在mq消息队列中是使用进程级别的生产消费,这里的生产消费只是线程级别的,仅仅供读者进行理解和参考。https。...............

2022-07-17 23:46:53 589

原创 Java多线程【4】interrupt打断线程、两阶段终止模式

一、线程如何主动进入阻塞状态1.线程的sleep、join方法2.锁对象的wait方法3.LockSupport的part方法一、打断阻塞状态的线程1.打断sleep2.打断join2.打断wait2.打断park二、打断运行状态的线程(两阶段终止模式)总结.........

2022-07-15 18:20:10 692

原创 Java多线程【3】同步模式之保护性暂停案例 相亲问题

一个线程等待另一个线程的返回结果,可以理解为,一个线程和另一个线程之间的关系是一一对应,也称为线程和线程间是一对一的关系。这里引入相亲作为案例,一个男士和一个 女士牵手成功的前提默认是女士答应了才行,而且一个女士只能答应一个男士。相亲需要媒介,也就是婚介所,相亲的男士和女士都需要在婚介所注册。............

2022-07-15 11:00:55 170

原创 Java多线程【2】Java wait/notify的使用于同步模式保护性暂停

系列文章目录前言一、wait、notify、notifyAll1.1、同步阻塞的区别和wait方法的区别1.2、notify方法1.3、notifyAll方法二、同步模式之保护性暂停2.1、保护性暂停和轮询等待(cas)的区别2.2、Guarded Suspension2.2、Guarded Suspension Time Out.....................

2022-07-13 23:43:37 302

原创 Docker容器化【Jenkins】【1】安装配置

这里的镜像选择有很多,但大部分在jenkins初始化安装插件的时候会报错,基本被墙,如果翻墙就会很麻烦,这里推荐jenkins的,安装插件会很顺利的解决。1.2、jenkins数据持久化Docker启动的容器,一旦停止数据都会消失,没有持久性,这就需要我们在安装jenkins的时候将数据挂载到宿主机上,这样重启重启或者是重新创建容器,原有的数据都会保存。jenkins中也需要能使用Docker。因为在我们新建一个Pipline进行Devops,shell脚本里需要做打包镜像等工作,这就需要能使用dock

2022-07-12 12:12:00 198

原创 Java多线程【1】synchronized对象锁、内置锁使用

普通方法加锁静态方法加锁对象锁类锁this锁

2022-07-11 18:07:09 253

原创 frp内网穿透【1】frp服务端客户端配置、域名配置

github下载地址按照系统选择,一般linux和windows基本不是arm和amd架构,选择这些版本之外的这里只列举必要参数,其他参数读者可以自行查询资料

2022-07-11 16:16:17 1411

原创 frp内网穿透疑难杂症【2】The page you requested was not found

frpc.ini文件配置的域名需跟浏览器访问的域名一致具体参考博客frp内网穿透疑难杂症【1】do http proxy request [host:www.xxx.xxx] error: no root found: www.xxx.xxx

2022-07-11 13:35:26 6394

原创 frp内网穿透疑难杂症【1】do http proxy request [host:www.xxx.xxx] error: no root found: www.xxx.xxx

客户端配置域名访问和访问的域名不匹配如下配置的域名必须和浏览器访问的域名一致。

2022-07-11 13:30:03 42930

原创 Mysql容器化(1)Docker安装MySQL

docker容器其实就是在镜像的基础上添加了一个读写层,在容器被删除的时候,容器所保持的数据状态将会丢失,对于MySQL这样的持久数据存储是灾难性的,那么这时候容器的数据持久化就显得很必要了。在上一个博客Docker持久化中已经做了详细的介绍,读者可以参考一下。Mysql的数据文件一般默认是存储在下,其中的文件夹对应每个数据库进入数据库其中的文件为表结构文件。其中的文件为表数据文件。注意:关于Docker持久化参考博文......

2022-06-30 14:39:05 463

原创 MySql 分布式集群原理(5)MySQL主从复制

1.认识主从复制1 实现原理主库db的更新事件(update、insert、delete)被写到binlog主库创建一个binlog dump thread,把binlog的内容发送到从库从库启动并发起连接,连接到主库从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log从库启动之后,创建一个SQL线程,从relaylog里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db2.应用场景

2022-04-24 16:44:11 749

原创 MySql 分布式集群原理(4)relaylog相关

1.查看binlog是否开启在MySQL5.7版本,binlog默认是不开启的。mysql> show variables like "%relay_log%";+---------------------------+--------------------------------+| Variable_name | Value |+---------------------------+--------------

2022-04-24 16:26:58 133

原创 MySql 分布式集群原理(3)binlog相关

1.查看binlog是否开启在MySQL5.7版本,binlog默认是不开启的。mysql> show variables like "%log_bin%";+---------------------------------+-------+| Variable_name | Value |+---------------------------------+-------+| log_bin | OFF

2022-04-22 11:03:14 218

原创 MySql 分布式集群原理(2)MySQL设置用户和赋权限

1.创建MySQL用户create user "username"@"ipaddr" identified by "password"2.赋权限grant replication slave on database.table to "user"@"ipaddr" identified by "password"

2022-04-21 09:29:39 924

原创 MySql 分布式集群原理(1)linux下的MySQL安装和配置

1.虚拟机配置1 设置网络适配器2 设置静态ip虚拟机中对应网卡的信息(在root下):vim /etc/sysconfig/network-scripts/ifcfg-eth0注:有的centOS可能初始网卡的名称不是eth0,可以自己修改一下名称(参考链接)其中标注***为必须要修改的TYPE="Ethernet"BOOTPROTO="static" ***DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6_AUTOCONF="yes"IPV

2022-04-21 00:04:33 1333

原创 五、安装coreDNS

1.配置coredns.yaml文件1.1创建yaml文件apiVersion: v1kind: ServiceAccountmetadata: name: coredns namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile---apiVersion: rbac.authorization.

2021-09-29 15:27:40 1509

原创 四、Pod的基本操作

1.在集群中运行指定的镜像参考kubectk run --help查看参数的基本规则该命令会自动创建Deployment控制器。kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool][--overrides=inline-json] [--command] -- [COMMAND] [args...] [options]kubectl run n

2021-09-23 10:51:02 135

原创 Docker基础(11)docker安装nginx配置https

1.nginx.conf配置文件以下是Nginx的配置文件详情user nobody;worker_processes 4;worker_rlimit_nofile 65535;error_log logs/error.log notice;pid /var/run/nginx.pid;events { use epoll; worker_connections 4096;}http { incl

2021-09-02 15:50:31 1421

原创 Docker基础(10)docker安装Mysql和其数据持久化

1.容器化的MySQL的问题docker容器其实就是在镜像的基础上添加了一个读写层,在容器被删除的时候,容器所保持的数据状态将会丢失,对于MySQL这样的持久数据存储是灾难性的,那么这时候容器的数据持久化就显得很必要了。2.如何实现持久化在上一个博客Docker持久化中已经做了详细的介绍,读者可以参考一下。3.MySQL的数据源文件Mysql的数据文件一般默认是存储在/var/lib/myql下,其中的文件夹对应每个数据库#其中的wordpress文件夹就是我名称wordpress对应的数据库

2021-09-02 10:44:38 465

原创 Docker基础(8)持久化

1.持久化的三种方式1.1 volumesDocker管理主机文件系统的一部分,默认文件夹在/var/lib/docker/volumes中。是保存数据的最佳方式。1.1 bind mounts将宿主机的任意位置的文件或者目录挂在到容器中。1.1 tmpfs挂载存储到主机系统的内存中,不会写入到主机的文件系统。一般不会用到2.volume方式2.1 创建数据卷docker volume create 容器卷名称[root@VM-0-7-centos docker]# docker vo

2021-08-30 18:07:14 261

原创 Docker基础(3)docker导入导出镜像和其他相关操作

1.Docker镜像常用命令1.1 帮助docker --help查询Docker client命令的介绍,这里着重看Docker的Managerment CommandsManagement Commands: container Manage containers image Manage images network Manage networks node Manage Swarm nodes plugin Manage p

2021-08-30 16:30:26 324

原创 Docker基础(1)安装最新版本

1. 关闭防火墙和Linux的SeLinux本文安装Docker是为了后续搭建K8s集群做准备,所以关闭防火墙为了防止后续出现问题,当然如果读者对Linux玩的很熟悉,可以选择不关闭。SeLinux为Linux中的一个安全子系统,最好也将其关闭。#关闭防火墙$[root@ ~] systemctl stop firewalld #关闭开机自启防火墙$[root@ ~] systemctl disable firewalld#修改其中的SELINUX值为disabled$[root@ ~]

2021-08-30 16:27:38 1209

原创 Docker基础(7)运行容器相关命令

1.图示2.命令详情2.1 启动容器使用docker container run --help查看容器启动命令格式# 【OPTIONS】是运行容器的选项 如 -p# IMAGE是镜像名称# 【COMMAND】是传入的命令# 【ARG】是环境变量 ,export 和 echo ${xxx}[root@VM-0-7-centos ~]# docker container run --helpUsage: docker container run [OPTIONS] IMAGE [COMM

2021-08-30 15:58:52 6888

原创 Docker基础(5)查看容器日志和其他容器操作

1.图示2.命令详情2.1 查看容器列表2.2 查看容器元数据信息2.3 进入容器2.4 提交镜像2.5 拷贝文件到容器中2.6 获取容器日志2.7 显示容器运行的进程2.8 显示资源使用统计2.8 停止/启动一个或者多个容器.........

2021-08-30 15:33:36 622

原创 Docker基础(6)删除所有容器

docker删除容器的前提是容器必须暂停,一个个的赞同太过于麻烦,这里使用以下命令可以快捷删除docker container stop $(docker ps|awk '{print $1}') && docker container rm $(docker ps -a|awk '{print $1}')

2021-08-30 14:35:35 322 1

原创 装有Docker的服务器内网不互通

1.原因容器服务占用其他主机的ip网段,如Docker容器默认的网段。2.解决方法2.1 卸载Docker服务这个方法是不推荐的,除非服务器上的容器服务不需要,否则不推荐。删除方法参见博文卸载Docker。2.2 修改Docker的默认网段修改Docker的Daemon.json文件,有时候没有该文件,直接创建就行,执行以下操作[root@VM-0-7-centos docker]# vim /etc/docker/daemon.json 在配置中添加"bip": "172.16.10.

2021-08-30 13:53:40 748

原创 Docker基础(9)网络管理

1.Docker的网段一个主机安装Docker的时候,会默认分配一个网段,这个网段是随机的。在主机输入ip addr,里面的eth0为你本机的内网ip地址,其中的docker0地址就为默认分配的ip地址网段。2.网段的作用网段就是包含一段ip地址的字段,意思就是在一个区间到另一个区间的ip都是docker使用,比如上文172.16.10.1/24,默认前24位为网络地址,后8位位ip为主机ip,按照二进制的算法,2的8次方为256,最多可以有256个虚拟ip可以让docker使用。3.docker

2021-08-30 13:43:37 235

原创 Docker基础(4)设置内存、cpu等资源

如下,容器nginx2设置最大使用的内存为1G。[root@VM-0-7-centos docker]# docker container run -d --name nginx2 --memory 1G nginx1887eef326fd892e7833cd611c3f169455e315f7880b23266fcda40b1fa5603b

2021-08-27 14:51:32 11301

原创 三、docker容器管理

### 1.Docker容器基本概念#### 1.1 进程级别运行中的容器是宿主机中的一个进程,相当于是一个开启的虚拟机,或者是个web服务#### 1.2 由`Docker Daemon`管理Docker Daemon 是Docker架构中运行在后台的守护进程,可分为Docker Server、Engine和Job三部分。与传统虚拟机架构相比。Docker容器化其实就是将传统的`Hypervisor(虚拟机管理系统)`替换成了`Docker Daemon`,Docker Daemon统一管

2021-08-27 14:50:51 189

原创 Docker基础(2)卸载dokcer

使用`yum remove $(yum list installed

2021-08-27 13:25:20 134

原创 二、Docker镜像管理

1.镜像结构如上图,Docker镜像其实就是一个多层分层存储的文件,每一层文件都是基于原先的镜像之上所增量生成的。容器就是运行中的镜像,在镜像上多了一个读写层(writable),容器每次修改时修改的是镜像文件系统的备份,所以当容器被删除或者是重新启动一个容器的时候之前修改的文件会消失。point:镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件,没有系统内核,是寄宿于宿主机内核运作的,镜像层依赖于一系列的底层技术,比如文件系统(filesystems)、写时复制(copy

2021-08-27 10:04:47 169

原创 Java数据结构一(基本概念)

1.什么是数据结构数据(Data):能描述现实事物的数字、字符和能输入到计算机中并且被计算机所接受的各种符号集合的统称。数据是信息的符号表示,是计算机处理的对象。计算机能处理的数据还有字符串等非数值数据,以及图形、图像、视频等多媒体数据。数据元素(Data Element):表示一个事务的一组数据称为一个数据元素。数据元素是数据的基本单位,数据元素由一个或多个不可分割的**数据项(Data Item)**组成,数据项可以是一个字符还可以是表示一个事物的一个属性,具体分割需要看场景。数据结构(Data

2020-09-10 17:23:04 389

原创 react-native疑难杂症(二) --mac下启动react-native时Simulator没有显示

在创建好React-native的初始化项目后,运行yarn ios之后只是显示如下图在虚拟机上没有任何的显示,这个其实不是个bug,在react-native环境安装好的情况下,一般不会出现程序上面的错误,这个是运行的命令不对。命令如下react-native start开启react-native监控,一定要开启,不然就会有以上的问题出现react-natvie run-ios 启动程序,就会运行起react-native项目,切记,这些命令的运行一定是要在项目的目录下。运行完了如下

2020-07-07 16:27:59 602

qrious.min.js

qrious是一款基于HTML5 Canvas的纯JS二维码生成插件。通过qrious.js可以快速生成各种二维码,你可以控制二维码的尺寸颜色,还可以将生成的二维码进行Base64编码

2020-02-12

空空如也

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

TA关注的人

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