UPS备用电源
不间断电源(UPS)是一种允许计算机在主电源丢失时保持运行至少一小段时间的设备。它还提供电源浪涌保护。
数据库迁移流程:先在目标服务器安装配置好mysql数据库,然后远程scp上传需要迁移的数据库的数据到目标服务器(这个操作之前必须先关掉监控、web服务httpd、nginx等、mysqld、)
1、企业LNMP单点部署
单点服务器满足基本业务需求,用户可以通过线上服务访问网站业务
![](https://img-blog.csdnimg.cn/img_convert/e7a5dfdff4374ba7bc8062474eb24773.png)
2、企业数据库服务器单点部署
①多个业务软件,同时在一个服务器,会有资源争抢的现象
②数据库服务器,数据是最重要的,需要单独进行管理
![](https://img-blog.csdnimg.cn/img_convert/409e321cbdb048fb9632b7deb28bae19.png)
数据库服务器进行严格的权限要求:
特定的用户操作特定库 —个业务 —个用户
3、企业架构双点热备单活HA
HA高可用多个(起码两个以上)服务器节点,如果单点服务器出现问题,就由其他服务器进行接管服务。整个业务服务,是高度可用的。业务不受影响
![](https://img-blog.csdnimg.cn/img_convert/5ef4b0f23e1547de82ac5560f8e20ce1.png)
VIP虚拟IP 多台服务器,同时争抢一个IP
vrrp 包 网卡mac地址=>IP 确定VIP是否被绑定
如果备用服务器无法收到varrp包就说明 主服务器挂了
使用keepalived
![](https://img-blog.csdnimg.cn/img_convert/f22ff75295b84ff49405c59e7270bf2d.png)
![](https://img-blog.csdnimg.cn/img_convert/b0724cf6114b457fbd514dc2c76fc258.png)
![](https://img-blog.csdnimg.cn/img_convert/6360993b5e904a4aa791d5f52df69b67.png)
![](https://img-blog.csdnimg.cn/img_convert/8390f03706fa45bf903009400da7e5d4.png)
主master备backup
默认主优先
双备
优先级可以设置不争抢
互为主备负载均衡时搭建的
多备模式 权重
vip切换脑裂(裂脑)通信不顺畅
①防火墙禁用发包 vrrp
②禁止发广播(组播)可以使用单播unicast
4、企业架构HA、LB
![](https://img-blog.csdnimg.cn/img_convert/ae9b7c9faaf642a09aea9d21e31fc04c.png)
单点web服务器,已经不能够满足业务流量需求,需要增加服务器同时进行提供业务服务
SLB server load blance把业务流量[平均]分配(分发)到多台服务器
二层mac地址
三层ip地址
四层ip+port
七层http url
lvs四层以下nat 四层和三层、二层
NAT 跨网段转发CIP192.168.39.72
DS两个网段(192.168.39.73,192.168.17.104) RS (192.168.17.101,103)
DR DS和RS都绑定VIP,默认访问时,RS不要响应通过VIP访问的请求,由DS响应,DS分发到RS上,RS找VIP发现是自己,返回数据给CIP即可。请求通过DS,返回直接通过RS给CS。DS和RS在同一个网段 二层修改了mac地址
nginx 七层proxy_pass转发请求到upstream分发
四层
haproxy
四层 model tcp 主动监测后端服务是否可用
七层 model http
5、企业架构MySQL数据库主从复制
![](https://img-blog.csdnimg.cn/img_convert/41dc23c53c7041cab0ae1cc75b81ec69.png)
主从类型: M-S M-S-S M SSS M-M
一主多从的使用最多
延时复制从同步主的延迟时间,作为误操作的一个备份
半同步默认主从是异步,为了保证数据实时一致性,主确认从已经写入relay-log,才完成写入,返回用户,有一个等待时间Ⅰ
mysql的安全权限控制
grant权限on数据库.数据表to用户名@主机 idetified by ' 密码 ';
revoke
日志(错误、二进制、中继、慢查询[mysql优化]) 备份
二进制日志开启: bin-log=存储路径和名称 server-id服务器唯一识别标识
备份: tar打包mysqldump xtrabackup innobackupex.
备份的影响:冷备份 温备份 热备份
备份的类型:物理(copy) 逻辑(sql导出再执行)
备份的粒度:全量 增量
主从复制: bin-log
slave通过读取master的bin-log写入relay-log中,再进行重放操作,复制同步数据。
默认异步线程的
master auto.cnf
①开启bin-log server-id 1
②授权slave replication slave权限
③mysql > show master status;
slave
①配server-id 2
②配置slave服务
mysql > stop slave
mysql > change master masterhost , masteruser · …"…
日志文件名称logfile
日志记录位置position
mysql > start slave;
mysql > show slave status\G;
两个yes,一个yes就看看下面的报错信息,解决
6、企业架构读写分离
![](https://img-blog.csdnimg.cn/img_convert/9ff59807cdc14f2a9267542326c58bd0.png)
M-S S不能写只能用来读
M又读又写来回切换模式,效率不高
M写S读 读写分离 S down为了业务可用性M可以提供读服务实现读写分离的两种方式:
①业务代码分离
②中间件(mycat)mycat java编写jdk jre运行
jdk : openjdk oraclejdk,授权方式不一样 java8之后99.99%
I
mycat两种:|
双写writeHost writeHost M宕机 S不影响,可以读也可以写业务上s不让写在S的配置上写read-only单写单读writeHost readHostM宕机S不可用
mycat客户端口8066
管理端口9066mysql > show @@heartbeat;
7、企业架构缓存memcached
![](https://img-blog.csdnimg.cn/img_convert/b3d6c3250e6a4fc698360afa438e9b32.png)
①LB的业务模式下,session出现不能够访问的情况
ip_hash session存入缓存数据库memcached
②高速内存缓存软件缓存了首页的category内别栏目数据
memcached
nosql key=>value
内存 存储数据要注意数据的备份memcached redis key=>value store
mongodb doucument store 27017
默认允许在11211端口
./memcached -uroot -d -p 11211
-m内存大小 -M禁用LRU机制 存储缓存机制
①懒惰机制当key过期后,不会直接删除 当被使用时,确认过期,才会删除节省系统的资源
②LRU 如果一个key存储的时候,发现存储空间不足。先删除已经过期的key,删了已经过期key还是不能够存储。会删除最近最少使用的key。删除这个key,存储新的key。
这个也是缓存的一种理想模式。不用的话,就没有必须占用内存空间-M可以禁用LRU
redis比memcache
①数据类型丰富
string 缓存字符串
计算器incr
list可以进行数据的双向操作
set交集 并集 差集 sns好友圈
zset 排序score权排序一score从大到小或者从小到大控制排序也就是控制score的大小
hash key: (field:value)
②数据持久化 snapshotting快照 dump.rdb save
save 900 1
save 300 10
save 60 10000
aof append only file 文件追加写 每次每秒根据系统资源情况 闲时(会让读写速度变慢,操作一次备份一次)
③redis主从模式
④redis默认存储string的value 512MB memcached 1M
⑤redis单核memcached多核
redis hash效果高 压缩高 返回数据快
memcached超过100k以上,效果好一些
一般使用,缓存都可以 它们的每秒并发都可以达到几w级别
商城业务使用redis:
set记录登录的用户数,统计活跃用户及其数量
master-slave
master bind 127.0.0.1外网访问网卡
requirepass密码
slave配置master slave of ~~~~
masterauth ~~~~
8、存储访问日志MongoDB
mongodb用来进行访问日志记录
mongodb特点:
①存储 PB bson结构 存储灵活
②效率 读写
③结构 collection集合 document文档 field 域 CURD
use devops;
db.student.insert({name:1})
db.student.find({name:1},{age:1,_id:0})
db.student.remove()
db.student.update({查询条件},{'$set':{}})
server01-server10
server01 web1 nginx php-fpm keepalived sersync
server02 master MysQL mysql
server03 web2 nginx php-fpm keepalived rsync
server04 LB nginx|haproxy keepalived
server05 backupLB nginx|haproxy keepalived
servero6 slave MysQL mysql
server07 mycat mycat java
server08 master cache memcached redis
server09 slave cache redis
server10 mongodb