自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Bash系列之(一):变量替换

1. ${variable:-value} $variable如果为空或者未设置,则返回value的值;[root@k8s-node1 ~]# vi koala.sh#!/bin/bashdeclare name[ -n "$name" ] && echo $name || echo '$name is null'echo "${name:-$HOSTN...

2020-03-27 17:40:00 373

原创 MQTT协议系列之(二):keep alive

MQTT Keep AliveMQTT includes a keep alive function that provides a workaround for the issue of half-open connections (or at least makes it possible to assess if the connection is still open).Keep ...

2020-03-13 17:58:37 603

原创 MQTT协议系列之(一):Quality of Service

What is Quality of Service?TheQuality of Service(QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific mess...

2020-03-13 17:50:30 630

原创 MongoDB系列之(三)sharding cluaster

1. 环境说明 主机名称 IP地址 OS版本 Role node1 172.16.100.51 CentOS7(kernel: 3.10.0-514.el7.x86_64) mongos service node2 172.16.100.5...

2020-03-05 16:56:21 176

原创 MongoDB系列之(二)replication set

1. 环境说明 主机名称 IP地址 OS版本 node1 172.16.100.52 CentOS7(kernel: 3.10.0-514.el7.x86_64) node2 172.16.100.53 CentOS7(kernel: 3.10.0-514.el7.x86_64) node3 ...

2020-02-18 15:34:24 464

原创 MongoDB系列之(一)mongodb 安装与配置

1. MongoDB的yum源配置 # vim /etc/yum.repos.d/mongodb-org-3.4.repo [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-...

2020-02-18 12:08:38 126

原创 Mysql系统变量系列之(七)Cache and Limit

[mysqld]####### CACHES AND LIMITS #########sort_buffer_size = 2Mjoin_buffer_size = 2Mread_buffer_size = 4Mread_rnd_buffer_size ...

2020-02-14 13:32:09 110

原创 Mysql系统变量系列之(六)Log and Safety

【mysqld】############# SAFETY ##############skip_name_resolve = ON //跳过域名解析sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES#local_infile ...

2020-02-14 13:12:58 126

原创 Mysql系统变量系列之(五) 路径相关的变量

[mysqld]############### PATH ##############basedir = /usr/ datadir = /var/lib/mysql //mysql的数据存...

2020-02-14 12:58:27 133

原创 Mysql系统变量系列之(四)InnoDB

[mysqld]############# INNODB #############innodb_buffer_pool_size = 4G //innodb缓存池大小设置innodb_io_capacity = 4000 //innodb每秒的io次数设置innodb_max_dirty_pages_pct...

2020-02-14 12:26:24 354

原创 Mysql应用系列之(二)基于nginx的负载均衡(Load Banlancer)

1. 环境准备:搭建mysql的multi-master环境,请参考Mysql应用系列之(一)多主集群(Multi-master) 安装nginx # yum install epel-release -y # yum install nginx2. 配置文件(/etc/nginx/nginx.conf)stream { ...

2020-01-21 11:29:56 324

原创 Mysql应用系列之(一)多主集群(Multi-master)

0. 环境说明 主机名称 IP地址 操作系统 node1 172.16.100.52 CentOS7 node2 172.16.100.53 CentOS7 node3 172.16.100.54 CentOS71. 安装相关软件包# yum install -y https://repo.percona.com/yu...

2020-01-20 14:24:28 749

原创 Mysql系统变量系列之(一)General

[mysqld]port = 3306 //服务器监听的端口server_id = 2 //服务器实例id,在主从集群环境中作为唯一标识read_only = ON //开启只读模式#super...

2020-01-14 17:57:25 114

原创 Mysql系统变量系列之(二)Binary Logging

1. 开启二进制日志:--log-bin[=base_name]Property Value Command-Line Format --log-bin=file_name Type File name Enables binary logging. With binary logging enabled, the server logs all stat...

2020-01-14 13:37:13 318

原创 Mysql系统变量系列之(三)Replication

1. 全局事务模式:gtid_modeoff:master不产生Normal_GTID,slave只接受来自master的ANONYMOUS_GTID; off_permissive:master不产生Normal_GTID,slave可以接受来自master的ANONYMOUS_GTID & Normal_GTID; on_permissive:master产生Normal_GT...

2020-01-13 16:03:52 151

原创 linux tools系列之(一)磁盘性能测试工具fio

1. 安装# yum install fio2. 命令参数说明:filename:指定设备名称,如/dev/sda; direct:是否使用直接IO; ioengine:I/O引擎,默认值是sync同步阻塞I/O,libaio是Linux的native异步I/O; rw: I/O模式,随机读写(randrw),顺序读写(read,write),随机读(randread),随机写(...

2020-01-02 17:49:02 307

原创 mariadb应用系列之(三)基于maxscale的读写分离架构

1. 环境说明软件版本操作系统:CentOS Linux release 7.3.1611(Core) (3.10.0-514.el7.x86_64)MariaDB-server:10.2.30 maxscale:2.3.8硬件环境 node1 172.16.100.51 maxscale...

2019-12-31 15:00:28 611 1

原创 mariadb应用系列之(二)基于GTID的主从复制(Replication)

1. 环境说明软件版本 操作系统:CentOS Linux release 7.3.1611(Core) (3.10.0-514.el7.x86_64) MariaDB-server:10.2.30硬件环境 node2 172.16.100.52 node3 172.16.100.53 no...

2019-12-30 18:41:18 643

原创 mariadb应用系列之(一)mariadb-server和maxscale的安装

在线安装:# curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.2"--mariadb-maxscale-version="2.3"# yum install MariaDB-servermaxs...

2019-12-30 17:17:32 260

原创 linux kernel基础系列之(七)direct io和aio

缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中,操作系统会将 I/O 的数据缓存在文件系统的页缓存( page cache )中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。缓存 I/O 有以下这些优点:缓存 I/O 使用了操作系统内核缓冲区,在...

2019-12-26 15:18:11 354

原创 linux kernel基础系列之(六)虚拟内存VM

每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构。 一个新进程建立的时候,将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,都由进程控制表中的task_struct记录,task_struct中记录中一条链表,记录中内存空间的分配情况,哪些地址有数据,哪些地址无数据,哪些可读,哪些可写,都可以通过这个链表记录。 ...

2019-12-26 10:48:44 156

原创 linux kernel基础系列之(五)文件系统FS

Linux 中的各种事物比如像文档、目录(Mac OS X 和 Windows 系统下称之为文件夹)、键盘、监视器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端,还有进程间通信(IPC)和网络通信等输入/输出资源都是定义在文件系统空间下的字节流。一切都可看作是文件,其最显著的好处是对于上面所列出的输入/输出资源,只需要相同的一套 Linux 工具、实用程序和 API。你可以使用同一...

2019-12-26 10:29:28 585

原创 linux kernel基础系列之(四)互斥锁mutex

系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。为了实现同步机制,Linux中提供了多种方式,其中一种方式为互斥锁mutex(也称之为互斥量)。Reference:https://www.jianshu.com/p/a7ddb2998b3b https://elixir.bootlin.com/linux/v2.6.18.8/sour...

2019-12-26 10:22:49 383

原创 linux kernel 数据结构系列之(四)位图bitmap

位图(bitmap)是一种非常有用的数据结构,在处理系统中的进程数管理、磁盘中的磁盘块管理、以及内存中的内存页的使用情况管理时非常有用。Reference:linux内核中的位图 https://elixir.bootlin.com/linux/v2.6.28.8/source/lib/bitmap.c https://elixir.bootlin.com/linux/v...

2019-12-26 10:14:31 387

原创 linux kernel 数据结构系列之(三)等待队列wait_queue

Linux内核的等待队列是非常重要的数据结构,在内核驱动中广为使用,它是以双循环链表为基础数据结构,与进程的休眠唤醒机制紧密相联,是实现异步事件通知、跨进程通信、同步资源访问等技术的底层技术支撑。研究等待队列这个内核非常基础的数据结构,对于加深理解Linux非常有帮忙,等待队列有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t),两者都有一个...

2019-12-25 17:42:50 274

原创 linux kernel 数据结构系列之(二)红黑树rbtree

平衡二叉树(BalancedBinary Tree或Height-Balanced Tree)又称AVL树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。若将二叉树上结点的平衡因子BF(BalanceFactor)定义为该结点的左子树的深度减去它的右子树的深度,则平衡二叉树上所有结点的平衡因子只可能是-1、0和1。(此段...

2019-12-25 17:15:58 238

原创 linux kernel 数据结构系列之(一)双向链表list_head

在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码的重用。下面就是kernel中的list_head结构定义:struct list_head {  struct list_head *ne...

2019-12-25 17:07:00 116

转载 linux kernel基础系列之(三)计算机底层知识拾遗

楔子: 这个系列会总结计算机,网络相关的一些重要的底层原理。很多底层原理大家上学的时候都学过,但是在学校的时候大部分的同学都是为了应付考试而学习,过几天全忘了。随着工作的时间越久,越体会到这些基础知识的重要性。做技术和练武功一样,当你到了一定的阶段,也会遇到一个瓶颈,突破了你的眼界就会大不同,突破不了,只能困在原地无法成长。我自己深有体会,这些基础知识,底层原理是助你打破瓶颈的灵丹妙药。...

2019-12-25 16:46:19 151

原创 linux kernel基础系列之(二)IO复用select与epoll机制

1.select的缺陷 高并发的核心解决方案是1个线程处理所有连接的“等待消息准备好”,这一点上epoll和select是无争议的。但select预估错误了一件事,当数十万并发连接存在时,可能每一毫秒只有数百个活跃的连接,同时其余数十万连接在这一毫秒是非活跃的。select的使用方法是这样的: 返回的活跃连接 ==select(全部待监控的连接)。 什么...

2019-12-25 16:32:01 103

原创 linux kernel基础系列之(一)调度原理

1. 数据结构:优先级队列struct prio_array { unsigned int nr_active; 表示等待执行的进程总数 unsigned long bitmap[BITMAP_SIZE]; 一个unsigned long在内核中只有32位哈,大家要跟64位OS上的C程序中的long区分开,那个是64位的。那么这个bitmap是干什么的呢?它是用位...

2019-12-25 16:01:49 93

原创 mariadb基础系列之(三)查询缓存管理

MySQL查询缓存是MySQL中比较独特的一个缓存区域,用来缓存特定Query的整个结果集信息,且共享给所有客户端。为了提高完全相同的Query语句的响应速度,MySQL Server会对查询语句进行Hash计算后,把得到的hash值与Query查询的结果集对应存放在Query Cache中。当MySQL Server打开Query Cache之后,MySQL Server会对接收到的每一个SEL...

2019-12-25 15:24:42 204

原创 mariadb基础系列之(二)缓存管理

楔子: 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页。buffer pool通常由数个内存块加上一组控制结构体对象组成。内存块的个数取决于buffer pool instance的个数,不过在5.7版本中开始默认以128M(可配置)的chunk单位分配内存块,这样做的目的是为了支持buffer pool的在线动态调整大小。Buffer pool的每个内...

2019-12-25 13:49:33 200

原创 mariadb基础系列之(一)索引管理

1. B+tree算法原理B-tree,B是balance,一般用于数据库的索引。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。而B+tree是B-tree的一个变种,大名鼎鼎的MySQL就普遍使用B+tree实现其索引结构。  那数据库为什么使用这种结构?  一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。这...

2019-12-25 11:36:36 87

原创 mariadb系统变量之(三)redo log

1. redo日志大小配置:innodb_log_file_sizeDescription:Size in bytes of eachInnoDB redo logfile in the log group. The combined size can be no more than 4GB prior toMariaDB 10.0, and no more than 512GB in...

2019-12-23 17:19:36 1167

原创 mariadb系统变量之(二)性能优化

1. 最大连接数配置:max_connectionsDescription:The maximum number of simultaneous client connections. See alsoHandling Too Many Connections. Note that this value affects the number of file descriptors requ...

2019-12-23 16:32:28 346

原创 mariadb系统变量之(一)通用配置

1. 数据目录指令:datadirDescription:Directory where the data is stored. Commandline:--datadir=pathor-h path Scope:Global Dynamic:No Type:directory name2. pid文件位置:pid_fileDescription:Full pat...

2019-12-23 16:09:29 951

原创 nginx配置指令之https

1. 虚拟主机的证书配置Syntax: ssl_certificatefile; Default: — Context: http,server Specifies afilewith the certificate in the PEM format for the given virtual server.2. 虚拟主机的私钥文件Syntax:...

2019-12-16 16:35:45 83

原创 nginx配置指令之HTTP load balancer

1. 反向代理配置Syntax: proxy_passURL; Default: — Context: location,if in location,limit_except Sets the protocol and address of a proxied server and an optional URI to which a location s...

2019-12-12 16:38:34 153

原创 nginx配置指令之location

1. 请求资源的location配置Syntax: location[=|~|~*|^~]uri{ ... }location@name{ ... } Default: — Context: server,location Sets configuration depending on a request URI.The match...

2019-12-12 16:09:41 109

原创 nginx配置指令之virtual host

1. 虚拟主机Syntax: server{ ... } Default: — Context: http Sets configuration for a virtual server. There is no clear separation between IP-based (based on the IP address) and name-based ...

2019-12-12 15:24:57 151

空空如也

空空如也

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

TA关注的人

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