自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MYSQL数据库的主从切换

一、MHA简介  MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司的youshimaton(现就职于 Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在 0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程...

2019-02-27 13:37:49 7679 1

原创 MYSQL数据库的读写分离

一.什么是读写分离读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。二.数据库读写分离的配置实验主机172.25.254.4   server4   master172.25.254.5   server5   slave172...

2019-02-26 19:30:29 336

原创 MYSQL数据库的主从复制,基于gtid的主从复制,半同步复制和组复制

一.数据库的主从复制原理:master端产生一个binlogdump线程,slave端产生I/O线程和SQL线程1.master节点上的binlogdump线程,在slave与其正常连接的情况下,将binlog发送到slave上。2.slave节点上的I/O线程,通过读取master节点发送的内容,并将数据复制到本地的relaylog中。3.slave节点上的SQL线程,读取relay...

2019-02-25 12:03:48 264

原创 nginx的配置详解

一、nginx配置文件语法高亮显示首先安装nginx,在官网下载nginx安装包,解压[root@server1 ~]# tar zxf nginx-1.14.2.tar.gz 安装nginx编译需要的依赖[root@server1 ~]# yum install -y gcc pcre-devel zlib-devel隐藏版本号,关闭debug日志编译安装[ro...

2019-02-24 22:26:29 505

原创 封装rhel7.3虚拟机

一、官方下载rhel7.3的镜像安装rhel7.3虚拟机二、配置网路三、配置yum源四、安装常用的软件和五、关闭火墙开机不启动,关闭selinux,关闭NetworkManagerNetworkManager disable stopfireword       stop   disableselinux        disable六...

2019-02-21 20:58:35 1540

原创 HAproxy的负载均衡,以及基于TCP和HTTP的应用程序代理

HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。...

2019-02-20 16:08:30 335

原创 nginx负载均衡

nginx作为一个反向代理器和负载均衡器,它的优点体现在许多方面,例如nginx 高并发, 配置文件简单,成本低 ,支持 rewirte及健康检查。1.安装nginx-1.15.7并解压[root@server1 ~]# lsnginx-1.15.7.tar.gz[root@server1 ~]# tar zxf nginx-1.15.7.tar.gz 2.去掉nginx的版本号...

2019-02-20 12:48:09 196

原创 memcache在tomcat中实现session交叉存放

一.在server上安装jdk和apache-tomcat1.解压到指定目录/usr/local/[root@server1 ~]# tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/[root@server1 ~]# tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/[root@serv...

2019-02-18 23:41:32 435

原创 OpenResty实现LNMP的缓存前移(到达nginx前端层面)

一.什么是OpenRestyOpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。通过汇聚各种设计精良的 Nginx 模块,从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C...

2019-02-18 22:33:08 200

原创 memcache对php页面访问的加速

一、Memcache简介内存缓存技术:memcache是实现php语言 对内存 进行操作的中间介质MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到 memcached中(memcached客户端不...

2019-02-18 21:51:43 239

原创 LNMP架构的简单应用-----部署论坛

在上篇博客中我们进行了LNMP架构中MYSQL,PHP和nginx的源码编译,并对其进行简单的配置和初始化,现在我们可以来看看如何将三者联系起来,部署一个最简单的论坛。1.下载论坛php代码,解压代码,并将其放在nginx的默认发布目录/usr/local/lnmp/nginx/html/下.[root@server1 ~]# yum install -y unzip # 安装解压...

2019-02-18 20:48:31 506

原创 LNMP架构搭建-----源码编译(MYSQL,PHP,nginx)

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。(1) Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。(2)Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。(3)Mysql是一个小型关系型数据...

2019-02-18 20:10:42 246

原创 LVS三种工作模式(DR,TUN,NAT)以及优缺点

一、NAT模式(VS-NAT)原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可。优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统它只需要一个 IP 地址配置在调度器上,服务器组可以用私有的 IP ...

2019-02-17 19:07:48 2371

原创 RHCS (高可用)

一、集群        是指一组相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点都是运行各自服务的独立服务器,这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。二、集群优点高性能 价格有效性 可伸缩性 高可用 透明性 可管理 可编程三、RHCS 集群组成1.集群架构管理器        这...

2019-02-17 14:45:15 841

原创 LVS(DR模式)+Keepalived(高可用)

Keepalived     keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生     主要提供 loadbalancing(负载均衡)和 high-availability(高可用)功能     负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs...

2019-02-15 23:16:15 237

原创 LVS的三种 IP 负载均衡技术的图解及优缺点(DR,TUN,NAT)

一、NAT模式    网络地址转换 Network address translation     client -> vs -> Rs ->vs ->client     服务器可以运行任何支持 TCP/IP 的操作系统     只需要一个 IP 地址配置在调度器上,服务器组可以用私有的 IP 地址。     伸缩能力有限, 当服务器结点数目升到 20 时,调...

2019-02-14 19:32:58 701 1

原创 LVS 负载均衡的调度算法

LVS 的负载调度算法 在内核中的连接调度算法上,IPVS 已实现了以下八种调度算法一、轮叫调度(Round­Robin Scheduling )(1)轮叫的方式依次将请求调度不同的服务器(2)算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。二、加权轮叫调度(Weighted Round­Robin Scheduling )(1)解决服务器间性能不一的情况,...

2019-02-14 19:01:56 162

原创 LVS模式三:NAT网络地址转换模式

NAT模式client -> vs(转换ip) -> Rs ->vs(转换ip) ->client    在一组服务器前有一个调度器,它们是通过Switch/HUB相连接的。这些服务器提供相同的网络服务、相同的内容,即不管请求被发送到哪一台服务器,执行结果是一样的。     VS/NAT 的优点是服务器可以运行任何支持 TCP/IP 的操作系统,它只需要一个 IP...

2019-02-14 18:49:58 209

原创 LVS模式二:TUN隧道模式

隧道模式client ->vs ->Rs -> client    IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。     IP隧道技术亦称为IP封装技术(IP encapsulation)。     IP隧道主要用于移动主机和虚拟私有网络(Virtual Priv...

2019-02-14 18:37:22 214

原创 LVS模式一:DR模式及DR模式下的健康检查

LVS模式一:DR(Direct Routing)直接路由模式client -> vs -> Rs ->clientDR模式下调度器和服务器组都必须在物理上有一个网卡通过不分段的局域网相连,即通过交换机或者高速的HUB相连,中间没有隔有路由器。 VIP地址为调度器和服务器组共享,调度器配置的VIP地址是对外可见的,用于接收虚拟服务的请求报文 所有的服务器把VIP地址配...

2019-02-14 18:26:12 287

原创 Varnish——CDN推送管理平台(web界面批量清除缓存)

CDN推送管理平台CDN推送: 当后端服务器中的DNS有更新时,在varnish的缓存中应该及时同步后端服务中的内容 配置过程:在server1上配置安装httpd,并编辑httpd配置文件 将136行的端口号修改8080(因为我们的varnish服务已经占用了80端口,避免冲突) 下载php(显示页面) 下载unzip(解压安装包)[root@server1 ~]# yum...

2019-02-14 15:12:57 218

原创 Varnish——CDN加速的实现(单个后端服务器及多个服务器实现负载均衡)

Varnish的工作原理图:Varnish是一款高性能的开源HTTP加速器,具有反向代理,缓存的功能。处理过程大致分为如下几个步骤:    Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或 Pipe,或者进入 Lookup(本地查询)。    Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,...

2019-02-14 14:10:47 357

原创 python ----面向对象

一、面向对象两个核心概念:    类:是一群具有相同特征或形为的事物的一个统称,类是抽象的,不能直接使用     对象:由类创造出来的具体存在     在开发中,应该先有类,再有对象类和对象的关系:    类是模板,对象是根据这个模板创建出来的     类只需要有一个,对象可以有多个(一张图纸可以造多个飞机)     类:属性(信息)和方法(你能完成的事)    类名 :这类事...

2019-02-14 09:23:16 648

原创 python----文件及操作系统

一、文件    打开文件的三个步骤:打开————>操作————>关闭     用/mnt/hui这个文件做实验,给文件777权限便于看到实验效果    [root@foundation2 mnt]# chmod 777 hui    [root@foundation2 mnt]# cat hui    good girl r(默认):只能读不能写 读曲文件不存在...

2019-02-14 09:08:31 385

原创 Python ----装饰器相关练习

一、饰器实现一个函数计时器比较用for循环拼接,和系统内置拼接函数.join的速度二、被修饰的函数有返回值在装饰器中将函数的返回值传给一个参数,并返回这个参数三、保留被装饰函数的函数名和帮助信息文档 @functools.wraps(fun) 添加这个东西 print(con_add.doc) 打印帮助文档如果没有帮助文档,则返回No...

2019-01-22 19:49:12 177

原创 Python ----装饰器

装饰器: 把一个函数当作参数,返回一个替代版的函数 本质上就是一个返回函数的函数 在不改变原函数的基础上,给函数增加功能

2019-01-22 19:48:51 102

原创 Python ----(字符串补充--如何快速生成验证码)

如何快速生成验证码,内推码import randomimport string##快速生成随机的字母和数字code_str = string.ascii_letters + string.digits##打印随机生成的字母和数字print(code_str)##打印随机取出的4个字母或数字print(random.sample(code_str,4))def gen_code...

2019-01-22 19:48:31 213

原创 Python ----匿名函数(lambda)

匿名函数:匿名函数的关键字为lambda,冒号前面是行参 冒号后面是返回值1.求1+2+3+4+5正常方法:使用匿名函数(lambda)2.将列表[0,1,2,3,4]的每个元素都平方然后输出3.求10的阶乘匿名函数的默认参数匿名函数的可变参数: *args(可接收多个值)匿名函数的关键字参数:参数为字典匿名函数的练习:将下面...

2019-01-22 19:48:08 155

原创 Python ----排序练习题

注意:按照函数的返回值进行排序:返回值为1,不变位置返回值为2,排在后面

2019-01-22 19:47:34 921

原创 Python ----内置高阶函数(map,reduce,filter,sorted)

一、内置高阶函数mapmap()函数接收两个参数,一个是函数,一个是序列map将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列返回1.对于序列[-1,3,-5,-4]的每个元素求绝对值2.对于序列的每个元素求阶乘(10个,2~7之间的随机)二、内置高阶函数reducereduce:把一个函数作用在一个序列上,这个函数必须接收两个参数,reduce把结果继续...

2019-01-21 13:46:53 232

原创 Python ----高阶函数

高阶函数实参是一个函数名 函数的返回值也是一个函数函数本身也可以赋值给变量,变量也可以指向函数传递的参数包括函数名f = abs ##把整个函数附值给ff = abs() ##把函数的返回值附给f...

2019-01-21 13:16:11 186

原创 Python ----列表生成式(练习题)

2019-01-21 13:09:27 921 1

原创 Python ----生成式

一、集和生成式:二、列表生成式: 格式:[expression for i in 序列 if …] 一、生成一个列表,列表元素分别为[1**2,2**2,3**2,...n**2]方法1:方法2:二、找出1-10之间的所有偶数并返回一个列表(包含以这个偶数为半径的圆的面积)三、找出1~100之间所有的质数三、字典生成式一、将所有的key值变...

2019-01-21 12:13:53 185 1

原创 Python ----函数练习(腾讯笔试题)

2019-01-21 11:46:57 286

原创 Python ----函数练习(模拟轮盘游戏)

模拟轮盘抽奖游戏:    轮盘分为三部分: 一等奖, 二等奖和三等奖;    轮盘转的时候是随机的,        如果范围在[0,0.08)之间,代表一等奖,        如果范围在[0.08,0.3)之间,代表2等奖,        如果范围在[0.3, 1.0)之间,代表3等奖,    模拟本次活动1000人参加, 模拟游戏时需要准备各等级奖品的个数. ...

2019-01-21 11:40:20 743

原创 Python 函数的简单练习

示例一:编写一个函数cacluate, 可以接收任意多个数,返回的是一个元组. 元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所 有数.示例二:编写一个函数, 接收字符串参数, 返回一个元组,‘ehllo WROLD’ 元组的第一个值为大写字母的个数, 第二个值为小写字母个数.示例三:编写函数, 接收一个列表(包含30个1~100之间的随机整形数)...

2019-01-21 11:32:15 860

原创 Python----(函数的返回值,局部变量与全局变量)

一、函数的返回值返回值:函数运行的结果,还需要进一步操作时,给一个返回值 return用来返回函数执行结果,如果没有返回值,默认为None python可以间接返回多个值(返回了一个元组) 一旦遇到return,函数执行结束,后面的代码不会执行return返回值要用一个参数去接收二、函数的局部变量与全局变量局部变量:在函数内部定义的变量,只在函数内部起作用,函数执行...

2019-01-21 11:17:46 7235

原创 Python——形参中四大参数(位置参数,默认参数,可变参数,关键字参数)

形参中的四大参数:位置参数默认参数可变参数关键字参数一、位置参数:形参和实参个数必须保持一致,最好按位置传参二、默认参数:形参和实参可以不一致三、可变参数:四、关键字参数 ...

2019-01-21 10:59:31 1082

原创 Python----函数(定义,嵌套,参数)

一、定义函数定义函数:使用def+函数名def say_hello(): print('hello1') print('hello2') print('hello3')say_hello() 使用函数名调用函数,如果不调用则不会输出结果(系统自动跳过函数)结果:hello1hello2hello3def sum_(): num1 ...

2019-01-21 10:44:21 1150 1

原创 Python ----字典

一、字典的定义字典是一个无序的数据集合,使用print输出字典时通常输出的顺序和定义的顺序不一致 数据类型 字典 '{ }'  'dict '2.定义一个空字典3.字典:key-value 键值对(value值可以是任意数据类型)4.工厂函数5.字典的嵌套6.所有的key和value值是一样的情况二、字典的特性d = { '1'...

2019-01-17 16:48:02 144

空空如也

空空如也

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

TA关注的人

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