LVS+Nginx负载均衡
1.学习目标
掌握什么是负载均衡及负载均衡的作用和意义。
了解lvs负载均衡的三种模式。
了解lvs-DR负载均衡部署方法。
掌握nginx实现负载均衡的方法。
掌握lvs+nginx负载均衡拓扑结构。
2.负载均衡的相关技术
基于DNS的负载均衡
优点:实现简单、实施容易、成本低、适用于大多数TCP/IP应用
缺点: 负载分配不均匀,DNS服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况;如果后台的Web服务器的配置和处理能力不同,最慢的Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用;可靠性低,如果后台的某台Web服务器出现故障,DNS服务器仍然会把DNS请求分配到这台故障服务器上,导致不能响应客户端;变更生效时间长,如果更改NDS有可能造成相当一部分客户不能享受Web服务,并且由于DNS缓存的原因,所造成的后果要持续相当长一段时间(一般DNS的刷新周期约为24-72小时)。
基于四层交换技术的负载均衡
优点:性能高、支持各种网络协议
缺点:对网络依赖较大,负载智能化方面没有7层负载 ...
MySQL—MHA高可用
操作系统:CentOS 6.6X 64位架构规划:
Mysql服务器:
192.168.157.128 从 Node数据节点 Manager管理节点
192.168.157.129 主 Node数据节点
192.168.157.130 从 Node数据节点
以下操作分别在128、129、130服务器上操作
1、安装Mariadb
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#安装相关依赖包yum -y install cmake gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel li ...
Mysql备份脚本-Xtrabackup
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#!/bin/sh#mysql_backupbegintime=`date +"%Y-%m-%d_%H-%M-%S"`format_time=`date +"%Y-%m-%d_%H-%M-%S"`tar_time=`date +%F --date="-1 day"`currentHour=$(date +%H)port=3306backdir=/data/backuptardir='/data/mysql_backup'file_cnf=/etc/my.cnfuser_name=rootpasswd='123456'sock=/data/mysqldata/mysql.sockout_log=$backdir/xtraback_log_$format_timetime_cost=$backdir/xtraba ...
Nginx配置文件理解
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172user www www; #定义Nginx运行的用户和用户组worker_processes auto; #nginx进程数,建议设置为等于CPU总核心数,这里auto为自动调整的意思worker_cpu_affinity auto; #对于具有多颗CPU的服务器,Nginx通过设置worker_cpu_affinity参数,即可轻松实现控制进程平均分配到多颗CPU上error_log logs/error.log; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]google_perftools_profiles /tmp/tcmalloc; #gperftools优化nginxworker_rli ...
Redis持久化
RDB
采用RDB持久化方式,redis会定期把数据快照保存到一个rdb文件中,并在启动时加载rdb文件,恢复之前保存的数据,可以在配置文件中设置保存数据的时间:
save {second} {change}
例子:save 60 100
意思是redis会每60s检查一次数据变更的情况,如果发生了100次的数据变化,则进行一次rdb快照保存,可以配置多条保存规则,redis是默认开启rdb快照的,默认的配置如下:
save 900 1
save 300 10
save 60 10000
也可以通过BG save来手动保存快照
RDB的优点:
1,对性能影响最小。
2,每次快照都会生成一个完整的数据快照文件,所以可以辅助其他手段保存多个时间点的快照(例如通过用脚本每天把快照备份到其他地方去),可作为灾难恢复手段。
3,使用RDB文件进行数据恢复比使用AOF要快很多。
RDB的缺点:
1,快照是定期生成的,所以Redis crash(紧急)时或多或少都会丢一些数据
2,如果数据集非常大而且服务器配置并不是很高,redis会在fork子进程的时候可能会消耗相对较长的时间, ...
CentOS6/7开启谷歌官方版BBR内核TCP加速算法
BBR 是谷歌开源的一项针优化网络拥塞控制算法,该算法与锐速、FinalSpeed等都为单边加速、无须客户端,但是 BBR 可以免费使用,不存在授权的问题。Linux Kernel 4.9RC 之后的 Linux 内核已经集成了该算法,所以只需要将内核更换到最新即可开启。
值得注意的是:
BBR 不能改变路由线路,该绕还是绕安装和开启 BBR 需要更新内核,因此对于 VPS 而言,推荐选择 KVM 构架
本文将简述 BBR 在 CentOS 6/7 下的安装和启用的方法,整个流程也十分简单。
CentOS 6
1、查看默认内核
1uname -r
2、查看并安装新内核
打开 >ELREPO 查看最新版本内核(替换下方代码中的内核链接)
1rpm -ivh http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/kernel-ml-4.12.0-0.rc3.el6.elrepo.x86_64.rpm --force
查询安装的内核列表,如果看到 kernel-ml-4.12.00.rc3.el6.elrepo.x86 ...
个人认为比较重要的MySQL—innodb参数详解
innodb_io_capacity:脏页的刷新的数量,可以动态调整,默认是200,该参数的设置取决于硬盘的IOPS的大小,IOPS就是每秒的读写次数。
innodb_scan_lru_depth:该参数是5.6版本新增的,它会影响page cleaner线程每次刷新脏页的数量,这是一个每一秒循环一次的线程。
bulk_insert_buffer_size:该参数调高mysql的数据插入的效率,默认设置是8M
innodb_flush_log_at_trx_commit:该参数指定了Innodb在事务提交后的日志写入频率。
为0时:日志会每秒写入到日志文件并刷写到磁盘,每次事务的提交不会有任何影响,就是说,日志的刷写操作和事务提交操作没有关系,在这种情况下mysql的性能是最优的,但是如果MySQL奔溃或者服务器宕机,就会最后1s丢失日志和数据.
为1时:每次事务提交的时候,日志会被立马写入到日志文件并刷写到磁盘,这是默认设置,这也是最安全的,但是由于每次事务都需要进行磁盘IO,所以也是最慢的
为2时:每次事务提交会写入日志文件,并不会立马刷写到磁盘,日志文 ...
云顾问
朋友开发的小游戏,我也参与到开发中
属于文字类游戏,挺不错的,我们也在TapTap上面上架了,IOS和安卓都有,传送门
也开放了一个独立的官网,云顾问
以上都可以下载游戏,游戏遇到什么bug,可以在评论下方或者taptap上面反馈提交给我们
企业级仓库harbor搭建
1.简单说明
Harbor是由VMware公司开源的企业级的Docker Registry管理项目,相比docker官方拥有更丰富的权限权利和完善的架构设计,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
2.组件
Harbor 由 5 个容器组成:
容器(组件)名称
说明
Proxy
由 Nginx 服务器构成的反向代理
Registry
由 Docker 官方的开源 registry 镜像构成的容器实例
Core services
构成此容器的代码是 Harbor 项目的主体
Mysql
由官方 MySql 镜像构成的数据库容器
Log
运行着 rsyslogd 的容器,通过 log-driver 的形式收集其他容器的日志
其中Core services是Harbor的核心功能,主要提供以下的服务:
组件
说明
UI
提供图形化界面,帮助用户管理registry上的镜像(image), 并对用户进行授权
Webhook
为了及时获取registry 上imag ...
申请Let's Encrypt通配符HTTPS证书
Let’s Encrypt 发布的 ACME v2 现已正式支持通配符证书,接下来将为大家介绍怎样申请
注 本教程是在centos 6下操作的,其他Linux系统大同小异。
2018.03.15 更新了通过acme.sh方式获取证书的方法,墙裂推荐这种方法
一、acme.sh的方式
1.获取acme.sh
1curl https://get.acme.sh | sh
如下所示安装成功
注:我在centos 6上遇到问题,安装完后执行acme.sh,提示命令没找到,如果遇到跟我一样的问题,请再执行以下指令:
1source ~/.bashrc
2.开始获取证书
DNSAPI的使用方法:[传送门][2]
acme.sh强大之处在于,可以自动配置DNS,不用去域名后台操作解析记录了,我的域名是在腾讯云注册的,下面给出腾讯云解析的例子,其他地方注册的请参考这里自行修改:[传送门][3]
请先前往DNSPOD后台获取App_Key跟App_Secret [传送门][4],然后执行以下脚本
替换成从DNSPOD后台获取的密钥
12export DP_Id="1234"expor ...