zoukankan      html  css  js  c++  java
  • 运维杂记-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 视频教程 有空可以看看

  • 相关阅读:
    python 处理protobuf协议
    python 删除git Jenkinsfile文件
    如何用python操作XML文件
    Linux笔记
    JAVA bean为何要实现序列化
    mysql中给查询结果添加序号列
    生产问题之泛型自动推断(JDK1.7新特性)
    生产问题之StackOverflowError异常小记
    Linux下DB2指令总结
    简单理解TCP/IP协议
  • 原文地址:https://www.cnblogs.com/xiewenming/p/7537833.html
Copyright © 2011-2022 走看看