自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis集群的搭建

实验前提:源码编译安装好了redis,详细过程请查看我上片博文:https://blog.csdn.net/y_yang666/article/details/88416159集群的搭建1.分配内存[root@server1 ~]# sysctl vm.overcommit_memoryvm.overcommit_memory = 0[root@server1 ~]# sysctl -w...

2019-03-12 15:01:07 313

原创 Redis的主从复制与高可用

一.Redis简介:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis...

2019-03-12 11:27:15 364

原创 MySQL的高可用(MHA)

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

2019-03-04 21:44:08 448

原创 MySQL数据库的读写分离

mysql读写分离实验环境:Master :172.25.4.1(server1)Slave: 172.25.4.3(server3)Proxy:172.25.4.2(server2)实验前提搭建好主从复制,搭建详情查看我上片博客:https://blog.csdn.net/y_yang666/article/details/87891869Server2配置(proxy):1.下载...

2019-02-27 16:36:49 328

原创 Rhel7.3虚拟机的封装

1.下载镜像,最小化安装rhel7.3虚拟机2.基础配置配置网络vi /etc/sysconfig/network-scripts/ifcfg-ens32. 配置yum源(真机的网络yum源共享)3.下载lftp vim net-tools常用工具4.关闭firewalld和NetworkManager并开机不启动5.selinux状态为disabl...

2019-02-23 22:34:35 280

原创 MySQL主从库复制,基于gtid的主从复制,半同步复制和全同步复制

MYsql主从库复制环境(RHEL7.3)主机ipserver3(主库)172.25.4.3server4(从库)172.25.4.41.主库(server3)配配置:1.下载mysql5.7安装包,并解压[root@server3 ~]# lsmysql-5.7.24-1.el7.x86_64.rpm-bundle.tar[root@server3...

2019-02-23 14:21:55 646

原创 Haproxy实现负载均衡,动静分离,访问控制及读写分离

Haproxy简介:HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、...

2019-02-22 23:35:21 842

原创 Nginx(Openresty)+Tomcat+Memcache实现负载均衡和Session共享

Nginx(openresty)部分的内容查看我之前博文:https://blog.csdn.net/y_yang666/article/details/87797541Tomcat简介:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,...

2019-02-20 17:52:29 517

原创 OpenResty实现反向代理及缓存加速

有关memcache模块实现缓存加速情况请查看我上篇博文:https://blog.csdn.net/y_yang666/article/details/87794129OpenResty简介:OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 W...

2019-02-20 14:55:32 2209

原创 LNMP模块--memcache实现php页面的加速缓存

lnmp架构部署请查看我前面的博文:https://blog.csdn.net/y_yang666/article/details/87784082Memcache简介:memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著 [1...

2019-02-20 14:09:13 356

原创 LNMP架构应用-创建论坛

lnmp架构部署请查看我上篇博文:https://blog.csdn.net/y_yang666/article/details/87784082论坛的创建:1.官网下载社区论坛软件包并进行解压[root@server1 ]#lscmake-2.8.12.2-4.el6.x86_64.rpm mysql-boost-5.7.17.tar.gz libmcrypt-...

2019-02-20 12:03:27 169

原创 LNMP(mysql+php+nginx)的搭建

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

2019-02-20 11:28:47 429

原创 RHCS套件实现HA高可用(二)

续我的上片博文:https://blog.csdn.net/y_yang666/article/details/87541559高可用共享存储的部署:一.给server3添加磁盘用来共享二.共享磁盘的配置server1,server2及server3server3:[root@server3 ~]# yum install -y scsi-* ##安装软件[root@server...

2019-02-17 17:42:12 228

原创 RHCS套件实现HA高可用(一)

实验环境(RHEL6.5版本):Selinux与Iptables状态均为disabled主机名IP服务server1172.25.4.1HA1(高可用节点1:ricci) 和 管理节点(luci)server2172.25.4.2HA2(高可用节点2:ricci)fountion真机172.25.4.250fence集群端RHCS实现高可用的...

2019-02-17 16:51:37 294

原创 LVS三种模式原理及优缺点

NAT模式:原理: 就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可?期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器?优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配In...

2019-02-12 16:04:48 1382

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

此实验时在DR模式下进行的,关于DR模式及DR模式下的健康检查请查看我之前的博文:DR模式部署:https://blog.csdn.net/y_yang666/article/details/86922742DR模式下的健康检查:https://blog.csdn.net/y_yang666/article/details/86931176一.keepalived简介Keepalived...

2019-02-12 15:24:49 245

原创 LVS负载均衡-NAT模式

一.NAT模式Virtual Server via NAT(VS-NAT):用地址翻译实现虚拟服务器,地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点优点是节省IP 地址,能对内部进行伪装缺点是效率低,因为返回给请求方的流量经过转换器二.实验环境1.各主机信息如下...

2019-02-11 14:46:54 257

原创 LVS负载均衡-TUN隧道模式

一.TUN简介TUN是IP Tunneling ,IP隧道的简称,它将调度器收到的IP数据包封装在一个新的IP数据包中,转交给应用服务器,然后实际服务器的返回数据会直接返回给用户。IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation...

2019-02-10 22:00:53 631

原创 LVS负载均衡-DR模式的健康检查

注意:该健康检查是在DR模式下进行的,关于DR模式的部署请查看我的上一篇博文:https://blog.csdn.net/y_yang666/article/details/86922742一.为什么要进行健康检查?当后端真实服务器出现问题时,那么客户端在访问时可能会给用户返回错误的页面,所以我们需要对后端真实服务器进行健康检查,保证给用户返回正确的信息。二.在调度器(server1)上部署...

2019-02-10 21:07:47 352

原创 LVS负载均衡-DR模式(ipvsadm)

一.LVS模式一:DR工作原理:客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP负载均衡器接收到报文后,发现请求的是在ipvs规则中存在的地址和端口,那么它将客户端请求报文的源MAC地址改为自己的MAC地址,目标MAC改为了Real Server的MAC地址,并将此包发送给Real ServerReal Server发现请求报文中的目标MAC地址是自己,就会把此...

2019-02-10 19:38:46 739

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

CDN推送管理平台配置server1:1.安装httpd,编辑主配置文件,将端口改为8080(避免与varnish服务的80端口冲突)2.下载php(显示界面)和unzip(解压安装包)[root@server1 ~]# yum install httpd unzip php -y[root@server1 ~]# vim /etc/httpd/conf/httpd.conf List...

2019-02-10 17:52:27 526

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

实验环境的搭建:主机名IP服务server1172.25.4.1varnishserver2172.25.4.2apacheserver3172.25.4.3apache配置server1:部署varnish服务,可查看我的上篇博文,网址如下:https://blog.csdn.net/y_yang666/article/details/...

2019-02-09 19:47:57 261

原创 Varnish-CDN加速的实现(单个后端服务器)

一.Varnish简介Varnish是什么?Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。简介:1.Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存...

2019-02-08 17:10:29 288

原创 Python-面向对象的特性(封装,继承和多态)

一.封装面向对象第一步 : 将属性和方法封装到一个抽象的类中外界使用类创建对象,然后让对象调用方法对象方法的细节都封装在类的内部练习1:需求1:1.小明体重75.0公斤2.小明每次跑步会减肥0.5公斤3.小明每次吃东西会增重1攻击需求2:1.小明和小美都爱跑步2.小美体重45.0公斤3.小明体重75.0公斤4.每次跑步会减肥0.5公斤5.每次吃东西会增重1攻击程...

2019-02-03 10:42:54 923

原创 Python-面向对象练习(实现栈工作原理)

栈的工作原理有:入栈出栈查看栈顶元素栈的长度栈是否为空程序内容:class Stack(): def __init__(self): self.stack = [] def push(self,value): self.stack.append(value) return True def pop(sel...

2019-02-03 09:53:40 284

原创 Python-面向对象常用方法(初始化与str)

一.初始化方法:当使用类名() 创建对象时,会 自动 执行以下操作:1.为对象在内存中 分配空间 —— 创建对象2.为对象的属性 设置初始值 —— 初始化方法(init)初始化方法 就是 init 方法,init 是对象的内置方法,init 方法是 专门 用来定义一个类 具有哪些属性的方法!使用类名()创建对象时,Python解释器会首先在内存中开辟一个足够的空间可以存下创建的对象,然...

2019-02-02 12:46:12 1105

原创 Python-面向对象

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

2019-02-02 12:27:38 86

原创 Python-第三方模块(itchat)

安装itchat:打开设置,点击Project Interpreter,在最右边点击+号,接着搜索itchat安装即可练习一:题目:给微信手机助手发送指定消息(此处以hello为例)程序内容:import itchatimport timeimport randomimport os# itchat.auto_login()# while True:# ...

2019-02-02 12:08:07 236

原创 Python-文件练习(生成100个MAC地址并写入文件)

题目要求:生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B01-AF-3B01-AF-3B-xx01-AF-3B-xx-xx01-AF-3B-xx-xx-xx程序内容:import randomimport string#随机生成一个mac地址def create_mac(): MAC = '01-AF-3B' hex_n...

2019-02-02 11:54:10 1731

原创 Python-文件练习(京东二面笔试题)

题目要求:1.生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;2.读取ips.txt文件统计这个文件中ip出现频率排前10的ip;程序内容:import randomdef create_ip_file(filename): ip = ['172.25.254.' + str(i) for i in range(0,255)]...

2019-02-02 11:14:53 287

原创 Python-文件简单练习

题目:创建文件data.txt,文件共100000行,每行存放一个1~100之间的整数,写完后读取文件内容程序内容:import randomwith open('data.txt','w+') as f1: for i in range(10000): f1.write(str(random.randint(1,100))+'\n') f1.seek(0) pri...

2019-02-02 11:06:23 311

原创 Python-操作系统与遍历目录

操作系统详解:import osfrom os.path import exists,splitext,join1.返回操作系统类型值为:posix,是linux系统,如果是nt,是windows系统 print(os.name)2.操作系统的详细信息info = os.uname()print(info)print(info.sysname)print(info.node...

2019-02-02 10:58:07 179

原创 Python-文件中的with用法

文件中的with用法上下文管理器:打开文件,执行完with语句内容之后,自动关闭文件对象#同时打开两个文件对象with open('/tmp/passwd') as f1,\ open('/tmp/passwdbackup','w+') as f2: #将第一个文件的内容写入到第二个文件中 f2.write(f1.read()) #移动指针到文件最开始 ...

2019-02-02 10:48:47 576

原创 Python-非纯文本文件的读取

非纯文本文件的读取将要读取的非纯文本文件1111.jpg放到指定目录下目录下(这里我以图片为例)在该目录下执行代码如下f1 = open('1111.jpg',mode='rb')content = f1.read()f1.close()f2 = open('westos.jpg',mode='wb')f2.write(content)f2.close()测试,会在该...

2019-02-02 10:43:46 451

原创 Python-文件的读取操作

一.read,readline,readlines的区分:read():读取文件内容在一行输出readline():输出第一行readlines():读取文件内容,返回一个列表,列表元素分别为为每一行内容二.读取文件前四个字符,去掉文件每行的空格:读取文件前四个字符:去掉文件每行空格:注意:strip()用于移除字符串头尾指定字符,默认为空格,但不能移除中间空格...

2019-02-01 14:37:13 243

原创 Python-文件

打开文件的三个步骤:打开—>操作—>关闭1. r只能读,不能写读取文件不存在,会报错2. r+可读写读取文件不存在,会报错3. w只写会清空文件之前的内容文件不存在,不会报错,会创建新的文件并写入4. w+可读写会清空文件内容文件不存在,不报错,会创建新的文件5. a只写不会清空文件内容,追加到原文件后文件不...

2019-02-01 13:37:03 109

原创 Python-多个装饰器的执行顺序

一.多个装饰器的的执行顺序:接下来我们以例子来查看执行顺序:程序内容:def decorator_a(func): print('Get in decorator_a') def inner_a(*args,**kwargs): print('Get in inner_a') res = func(*args,**kwargs) ...

2019-02-01 12:40:17 1518 1

原创 Python-装饰器练习题

练习一:题目:创建装饰器, 要求如下:1.创建add_log装饰器, 被装饰的函数打印日志信息;2.日志格式为: [字符串时间] 函数名: xxx, 运行时间:xxx,运行返回值结果:xxx程序内容:import timeimport functoolsdef add_log(fun): @functools.wraps(fun) def wrapper(*...

2019-02-01 12:22:17 1563

原创 Python-装饰器(被装饰函数有返回值的情况)

题目:装饰器实现一个函数计时器比较for循环与map,匿名函数的运算速度问题:被装饰的函数有返回值怎么办程序内容:import timeimport randomimport stringimport functools#问题:被装饰的函数有返回值li = [random.choice(string.ascii_letters) for i in range(100)]d...

2019-02-01 11:38:23 3956 2

原创 Python-装饰器实现一个函数计时器(比较for循环与.join的拼接速度)

装饰器实现一个函数计时器:题目:比较for循环拼接与系统内置拼接.join的速度问题:如何保留被装饰函数的函数名和帮助信息文档程序内容:import timeimport randomimport stringimport functools#问题:如何保留被装饰函数的函数名和帮助信息文档li = [random.choice(string.ascii_letters) f...

2019-02-01 11:30:15 613

空空如也

空空如也

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

TA关注的人

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