运维与架构师的两大主题?css
一、数据html
项目经验:java
全网数据备份解决方案:数据库数据,图片资源等,程序,运维配置文件,其余相关的。(丢失了线上的环境,保证能够恢复)mysql
数据库数据:主从(解决物理故障),备机开binlog保持1天以上,按天作备份(丢失数据不会超过1分钟)。nginx
百度案例:一主多从,其中有个从不提供服务,实时同步 drbd(基本不丢数据)web
M-S1:(不提供服务,专作备份,半同步插件)sql
-S2:mongodb
图片资源等:数据库
一、天天晚上全量备份,1T如下缓存
增量备份:
0一、rsync 小文件比对时间很长
0二、drbd 浪费资源,备节点不可用
0三、按时间增量,201606 201607
0四、更新资源写log,让rsync直接经过log同步,不用再进行比对
0五、innotify,sersync
全量备份:
0一、drbd
0二、程序双写,提交数据写到两个存储。
0三、分布式存储 NoSQL,mysql,mongodb同步机制作存储
0四、分布式架构方案。
程序运维的配置文件:都须要放到SVN里,再向外发布
按天备份便可:维护好SVN,就能够
办公室SVN-->IDC测试
-->IDC正式
备份思想:
需求分析:对于每一个项目或者业务点,事先定好备份计划。
数据库:数据规划好能够丢失多少,10分钟和1天,方案不一样。
--> 需求谁来提出来?运维总监,开发总监,团队讨论。
机房迁移,OPENSSL升级,数据库升级
二、7x24小时不间断提供服务
集群lvs,nginx,haproxy,f5,netscaler
高可用keepalive,heartbeat,nginx,haproxy
性能/扩展:优化,用户体验要好,业务能够自动扩展收缩
监控:运维级别(网络连通性,磁盘,DNS)
应用级别(jvm垃圾回收,访问速度,流量pv抖动)
业务级别(按产品线监控,流量,负载,访问请求,错误日志50X 40x,接口存活以及流量)
一、下降服务器访问压力
能够将不一样的资源放到不一样的服务器上,能够下降单台服务器的压力,也能够加快整个网站的访问速度。另外,不一样的服务器,减小cookie的传送,也能够下降带宽
二、页面静态化
直接在服务器端生成静态页面,避免频繁访问数据库,下降数据库压力。
SHTML server sider incluee SSI 服务器端html拼接技术。
CDN对动态地址,不会作优化处理,对与请求静态的文件或者地址,进行优化。因此页面静态化也显得颇有必要了
有些不适合静态化的,好比有权限的页面,须要注册登录后才能浏览,这就不能静态化。
三、CDN
经过DNS解析,让不一样区域的用户,访问最近的区域,使访问速度更快
如今不少企业没有能力搭建CDN服务,能够购买第三方CDN优化。开发须要留意会由于有CDN,开发会有不一样。
CDN对动态地址,不会作优化处理,对与请求静态的文件或者地址,进行优化。因此页面静态化也显得颇有必要了
四、js压缩和csssprite
用工具把js文件压缩,能够减小服务器和网络的压力,加快网页加载速度。
把全部的图片压缩到一个图片上,显示的时候利用CSS偏移就能够显示不一样的图片。
访问不一样的资源,可能请求不一样的服务器,对于session可能存在不一样服务器之间没有同步,形成须要从新登录的状况,所以session放到专门的服务器,每次都去同一个地方访问session,就避免了这个问题
五、反向代理
用户向web发送请求的时候,并非直接向服务器请求,先请求反向代理服务器,而后由反向代理服务器请求资源服务器。反向代理起到中转者的角色。
反向代理服务器能够米面慢速Internet占用Web服务器的链接数
反向代理服务器还能够起到安全和负载均衡的优势。
六、分离
文件服务器和web服务器分离:不一样的事,不一样服务器完成
上传和下载分离
消耗资源的处理(视频转码,图片加水印)和web服务器分离
数据库读写分离
数据库分库,分表
七、缓存-->下降服务器,数据库压力的最好方法
八、搜索引擎技术:全文检索
sql like的问题:数据库搜索时,用like查询 让整个数据库很容易卡死
全文检索的需求:高效率;模糊匹配
Lucene()全文检索的工具-->效率低
Solr:基于java的封装了Lucene-->效率高
技术都是混合架构的,适合的地方,使用适合的技术,不存在非谁不可的问题。
九、高并发的场景
秒杀和抢单:不能出现重复的问题
方法1:加锁,只能有一个线程进行操做。缺点:效率低,慢。 高并发场景,不使用这种方案
方案2:两个阶段处理,自由抢,而后排队裁判。
文章的阅读数:避免同时并发加1
方法1:加锁,只能有一个线程进行操做。缺点:效率低,慢。
方法2:每条阅读单独记录,而后汇总统计。
十、云计算 按需服务
好比12306平时10w够用,春运的时候须要100w,这就没有必要买100w台服务器,利用云服务,按照须要买须要的服务就能够了
随着云服务的深刻,愈来愈多的企业,会去掉低端的网管,因此应该有危机感。