运维杂记-04

现在的互联网公司都在关注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 视频教程 有空可以看看

posted @ 2017-09-17 21:58  warren1236  阅读(258)  评论(0编辑  收藏  举报