现在的互联网公司都在关注ABCD
A:Ai
B:Big Data
C:Cloud
D:DevOps
将来运维的路会越来越窄,因为都自动化和产品化了,人工参与的工作量会越来越少
云计算时代出现了大量XaaS形式的概念,从IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)到容器云引领的CaaS(Containers as a Service),再到火热的微服务架构,它们都在试着将各种软、硬件资源等抽象为一种服务提供给开发者使用,让他们不再担心基础设施、资源需求、中间件等等,在减轻心智负担的同时更好地专注于业务。FaaS是Functions as a Service的简称,它往往和无服务架构(Serverless Architecture)一同被提起。
FaaS拥有下面的特点:
1、FaaS里的应用逻辑单元都可以看作是一个函数,开发人员只关注如何实现这些逻辑,而不用提前考虑性能优化,让工作聚焦在这个函数里,而非应用整体。
2、FaaS是无状态的,天生满足云原生(Cloud Native App)应用该满足的12因子(12 Factors)中对状态的要求。无状态意味着本地内存、磁盘里的数据无法被后续的操作所使用。大部分的状态需要依赖于外部存储,比如数据库、网络存储等。
3、FaaS的函数应当可以快速启动执行,并拥有短暂的生命周期。函数在有限的时间里启动并处理任务,并在返回执行结果后终止。如果它执行时间超过了某个阈值,也应该被终止。
4、FaaS函数启动延时受很多因素的干扰。以AWS Lambda为例,如果采用了JS或Python实现了函数,它的启动时间一般不会超过10~100毫秒。但如果是实现在JVM上的函数,当遇到突发的大流量或者调用间隔过长的情况,启动时间会显著变长。
5、FaaS需要借助于API Gateway将请求的路由和对应的处理函数进行映射,并将响应结果代理返回给调用方。
Faas详细介绍见http://blog.csdn.net/u013970991/article/details/57482813?hmsr=toutiao.io
企业的工程效率,大公司工程效率团队在这个团队里懂开发的会多些,还有的公司有DevOps团队在这个团队里懂运维的会多些
做技术要保持空杯心态,知识在于积累,不要急于求成
听说现在电源可以做到插座级别的监控的,插座上面连接网线?高级的机房电力是可以动态调整的
有时候我们假装不在意,其实很用心
架构师应该在各个点进行优化
远程服务器内存 --memcache redis...
远程服务器硬盘--网络存储
tomcat的work存的是临时文件,有种优化方案就是用tmpfs来存放,很早的时候squid就可以用tmpfs,还有使用的场景比如IP地址库是文件形式可以用tmpfs的等等
手机云备份是不需要做cdn加速的,因为只有自己访问,频率也不高
chrome浏览器 可以输入 chrome://net-internals/#dns 查看浏览器缓存情况
firefox输入 about:cache 有时候火狐加载慢就是要把数据加载到内存中?
动态文件也是可以设置最后修改时间的,浏览器默认的是header,添加header值就可以
浏览器访问返回304 都是和服务器协商的结果,协商主要是对比Last-Modified时间戳,如果没有改变就返回304
通过一个算法生成一个Etag标签,对比标签对不对,用于文件的修改时间一直在变,但是内容没有变。这样用Etag算法进行缓存
服务器端也可以设置Expires,Cache-Control是基于本地时间算一个时间值,比如一个小时过期,这样可以解决客户端和服务器端时间不一致问题
上面三种缓存在浏览器里面刷新的区别如下:
在使用cdn的时候服务商可能会问缓存带不带参数
缓存时间怎么设置 根据业务情况
图片名称经常变可以设置一年或更长
ico文件不设置 浏览器强制做了缓存,
在web服务器端口可以关闭ico的请求日志记录
################# location = /favicon.ico { log_not_found off; access_log off; } ###################
有时间可以测试过期时间 php set header
dns如何获取到用户的真实ip,cdn一般只能获取到用户的本地dns IP
dns预获取 还有link可以预获取
时间戳一般是框架的功能
第一次访问判断ip地址位置 存放在cookies里面,下次访问就读cookie里面的信息就可以了
现在经常cookes互交易的情况,然后再给用户推荐商品
前端js获取用户数据 可以存在在hadoop里面或者其他地方
现在CDN有专门做4G加速 还有安全防护的
302调整做的事还是很多的
cdn提供伪源的功能,我们把数据同步过去
cdn日志:需要核对一下,有时候供应商可能会算错,不能保证100%
回源的带宽不能收费
如果不想写hosts测试,那么可以用curl 命令测试
[root@192-168-x-x disk]# curl -H "Host:www.xxx.com" http://192.168.x.x % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0<!doctype html>
缓存设置多级目录方便文件快速查找
https://github.com/alexazhou/VeryNginx/blob/master/readme_zh.md ?
用户--边缘节点--中心节点--源站 中心节点一般会在北上广
nginx proxycache 使用的key value方式存放,可以利用这个原理进行缓存清理
简单的缓存清理实现
阿里云的
目录主流的cdn架构
二三线城市 2-3元/兆
现在20元/兆 1G的带宽
CDN 融合多家互相调用
opcache 打开以后 70% 降到了 35% 左右 操作码缓存
http://www.php.net/manual/zh/book.opcache.php
http://php.net/manual/zh/opcache.configuration.php
fastCGI缓存 生产一般不开,有时候不生效管理复杂
cms是内容管理系统
每6小时生产
编辑人员收到修改 立马生产 高优先级 触发生产,写个刷新cdn请求
womai网以前是5分钟生成一次静态页面
缓存场景下 可以集群redis 数据一致性要求不高
存储场景下 不建议用集群redis 数据一致性要求高
codis 是无状态的
redis 读缓存,异步写(一般不用)
异步写 一般用消息队列
电商的推荐 阿里的rocketmq 保证数据的强一致性 保证消息完全的顺序 项目捐给apache
RocketMQ与Kafka对比(18项差异)
http://blog.csdn.net/damacheng/article/details/42846549
云原生应用对小公司很合适
MySQL innodb cache 80%的内存空间
taskset 绑定cpu 是减少cpu 的cache miss
VFS 虚拟文件系统
虚拟内存
西部数据 分蓝盘和红盘
默认是关的,在raid 卡里面可以配置。 raid卡带电池 解决数据不丢数据
云归档 2地三中心 几十T用云归档 可以计算一下 对比价格
xd系列的
网卡没有读缓存
写缓冲 ?
www.imooc.com 视频教程 有空可以看看