自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 收藏
  • 关注

原创 回源原理和CDN常见多级缓存

一、CDN回源1、回源原理1)源站内容有更新的时候,源站主动把内容推送到CDN节点。2)常规的CDN都是回源的。即:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取。如果没有人访问,那么CDN节点不会主动去源站拿的。3)回源域名一般是cdn领域的专业术语,通常情况下,是直接用ip进行回源的,但是如果客户源站有多个ip,并且ip地址会经常变化,对于cdn厂商来说,为了避免经常更改配置(回源ip),会采用回源域名方式进行回源,这样即使源

2020-07-07 11:41:17 665

原创 CDN——如何提高命中率

提高命中率或者降低回源带宽,在CDN业务是最常见的问题。本文结合多年CDN实战经验,梳理总结如何提高业务缓存命中率。1.命中率意味什么?终端用户。命中率越高,意味的响应时间越短,下载资源速度越快。业务方。命中率越高,回源带宽越低,成本越低。(源站带宽相对于CDN是5-7倍价格)CDN服务商。边缘节点命中率越高,中间回源带宽越低,成本越低。2.命中率有哪些统计方法?流量命中率(字节命中率):命中率={ (请求总流量-回源流量)/请求总流量 }请求数命中率:命中率={ (用户总请求数-回源请求数)

2020-07-07 11:23:13 1290

原创 k8s(一)简介及部署

kubernetes简介●在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。●Kubernetes项目来源于Borg, 可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。●Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。●K...

2020-04-21 23:35:24 491

原创 docker(九)Docker三剑客之Docker compose多容器管理

简介●微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。●Docker Compose是一种编排服务,基于pyhton语言实现,是一个用于在Docker上定义并运行复杂应用的工具,可以让用户在集群中部署分布式应用。●用户可以很容易地用一个配置文件定义一个多容器的应用,然后使用一-条指令安装这个应用的所有依赖...

2020-04-19 23:21:46 318

原创 docker(八)三剑客之docker-machine

docker-machine简介●Docker Machine是Docker官方编排(Orchestration) 项目之一,负责在多种平台上快速安装Docker环境。●Docker Machine支持在常规Linux操作系统、虚拟化平台、openstack、公有云等不同环境下安装配置docker host。●Docker Machine项目基于Go语言实现,目前在Github上的维护地址:...

2020-04-19 22:26:46 214

原创 docker(七)Docker安全(使用Cgroups机制实现对容器的资源控制)

理解docker安全Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面:(1)Linux内核的命名空间机制提供的容器隔离安全当docker run启动一个容器时,Docker将在后台为容器创建一个独立的命名空间。命名空间提供了最基础也最直接的隔离。与虚拟机方式相比,通过Linux namespace来实现的隔离不是那么彻底。容器...

2020-04-13 19:07:58 332

原创 docker(六)企业级Docker镜像仓库harbor的部署和使用

什么是harbor?Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。镜像的存储harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。harbor以docker-compose的规范形...

2020-04-13 14:22:20 279

原创 docker(五)公/私有仓库的搭建,设置加密认证

什么是仓库Docker仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是Docker Hub公共仓库。docker hub是docker公司维护的公共仓库,用户可以免费使用,也可以购买私有仓库。首先在https://hub. docker. com/网站注册一个账号...

2020-04-10 16:59:16 305

原创 docker(四)镜像的优化

构建镜像的几个原则●选择最精简的基础镜像选择体积最小的基础镜像可有效降低镜像体积。如:alpine、busybox等●减少镜像的层数镜像是一个分层存储的文件,并且镜像对层数也是有一定数量的限制,当前镜像的层数最高是127层,如果不多加注意,将会导致镜像越来越臃肿。在使用dockerfile构建镜像时,dockerfile中的每一条指令都会生成一个层,因此可以通过合并dockerfil...

2020-04-08 22:24:24 451

原创 docker(三)镜像的两种构建(commit dockerfile)

镜像的分层结构共享资源演示:拉取几个镜像运行:-i交互式–rm退出后自动删除镜像的构建(1)从容器构建镜像(以下简称容器镜像)——commit命令(2)编写Dockerfile构建镜像Dockerfile语法Dockerfile由一系列指令和参数组成。每条指令都必须为大写字母,并且后面要跟随一个参数Dockerfile中的指令会按照顺序从上到下执行,所以应该根据...

2020-04-08 17:48:40 275

原创 docker(二)安装部署nginx以及常用命令

docker的安装(1)官方站点:https://docs.docker.com/阿里云开源镜像站:https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/

2020-04-08 15:45:36 243

原创 docker(一)简介

什么是docker官方:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。大家需要注意,Docker本身并不是容器,它是创建容器的工具,是应用容器引擎Docker是基于Go语言实现的云开源项目。Docker的主要目标是"...

2020-04-07 18:52:23 288

原创 ansible(十六)jinja2模板续

示例一:if else forjinja2扩展模块的使用示例一:countinue示例二:break示例三(1)特殊符号的输出(2)当输出比较多时(3)特殊符号的代替宏在宏的内部,有三个状认的内量i特殊变量可供我们使用,它们分别是varargs、 kwargs、 caller示例一示例二示例三示例四示例...

2020-04-06 19:17:08 174

原创 ansible(十六)jinja2模板

如果想要解决上述问题(100台配置文件),我们可以先创建一个"模板"文件,ansible会根据"模板"文件,为每一台主机生成对应的配置文件,大致步骤如下:1、找一个现成的redis配置文件,作为"模板"文件,你可以从之前安装过redis的主机中拷贝一份,也可以从redis的rpm包中提取一份。2、修改模板文件,将IP设置部分使用变量进行替换。3、使用ansible调用"template"模块...

2020-04-06 18:25:49 348

原创 ansible(十五)过滤器

过滤器是一种能够帮助我们处理数据的工具,其实,ansible中的过滤器功能来自于jinja2模板引擎,我们可以借助jinja2的过滤器功能在ansible中对数据进行各种处理,而上例中的upper就是一种过滤器, 这个过滤器的作用就是将小写字母变成大写,你一定已经发现了,当我们想要通过过滤器处理数据时,只需要将数据通过餐管道符传递给对应的过滤器即可,当然,过滤器不只有upper,还有很多其他的过滤...

2020-04-01 13:29:25 351

原创 ansible(十四)判断

绝大多数语言中,都使用"if"作为条件判断的关键字,而在ansible中,条件判断的关键字是"when"我们可以使用when关键字为任务指定条件,条件成立,则执行任务,条件不成立,则不执行任务在ansible中,我们可以使用如下比较运算符== :比较两个对象是否相等,相等为真!= :比较两个对象是否不等,不等为真:比较两个值的大小,如果左边的值大于右边的值,则为真< :比较两...

2020-03-31 21:46:16 2496

原创 ansible(十三)循环

with_dict字典循环with_file是将每个文件的文件内容作为item的值with_fileglob是将每个文件的全路径作为item的值,子元素循环(with_subelements)有点类似与嵌套循环, 只不过第一个参数是个dict, 第二个参数是dict下的一个子项整数序列(with_sequence)with_sequence 产生一个递...

2020-03-31 19:02:04 335

原创 ansible(十二)变量及内置变量

(1)变量的值可以从外界给予示例一:单个变量示例二:多个变量(2)当变量已经定义,在从外界传递。会用外界传递的值(3)把变量定义在文件中,然后调用set_fact的使用(1)在tasks内部定义变量(2)将一个变量值赋予另一个变量示例二(3)只有在set_fact定义的变量可以在下面的使用示例二:注册变量可以传到下一个play中ansibl...

2020-03-31 16:07:15 1427

原创 ansible(十一)变量

定义变量变量名应该由字母、数字、下划线组成,变量名需要以字母开头,ansible内置的关键字不能作为变量名在playbook中使用变量。如果我们想要在某个playbook中定义变量,可以借助vars关键字除了能够在playbook中直接定义变量t,我们还可以在某个文件中定义变量, 然后再在playbook中引入对应的文件,引入文件后,playbook即可使用文件中定义的变量(1)定义一个...

2020-03-27 16:24:45 258

原创 ansible(十)playbook

那么现在,我们来想象一个工作场景,看看怎样把之前的知识点应用到这个工作场景中。假设,我们想要在testB主机上安装httpd并启动,我们可以在ansible主机中执行如下3条命令ansible testB -m yum_ repository -a 'name=rhel7.5 description=“ansible rhel7.5” baseurl=http://172.25.0.250/r...

2020-03-26 13:52:41 210

原创 ansible(九)包管理模块( yum_ repository,yum)

yum_ repository模块详解yum_ repository模块可以帮助我们管理远程主机上的yum仓库name参数:必须参数,用于指定要操作的唯一的仓库ID,也就是" .repo"配置文件中每个仓库对应的 “中括号” 内的仓库IDbaseurl参数:此参数用于设置yum仓库的baseurldescription参数:此参数用于设重仓库的注释信息,也就是". repo"配文件中每个仓...

2020-03-26 13:16:36 540

原创 ansible(八)常用模块( cron,service, user,group)之系统模块

cron模块详解cron模块可以帮助我们管理远程主机中的计划任务,功能相当于crontab命令5 1 * * * echo test每天1点5分输出test1 1 */3 * * echotest每三天的1点1分输出test@reboot echo test每次重启输出test@hourly echo test每小时输出testminute参数:此参...

2020-03-25 21:22:37 442

原创 ansible(七)常见模块(command,shell,script)之命令操作

command模块详解command模块可以帮助我们在远程主机上执行命令注意:使用command模块在远程主机中执行命令时,不会经过远程主机的shell处理,在使用command模块时,如果需要执行的命令中含有重定向、管道符等操作时,这些符号也会失效,比如"<", “>”, “I”, ";“和”&"这些符号,如果你需要这些功能,可以参考后面介绍的shell模块,还有一点需要...

2020-03-25 19:39:34 6284

原创 ansible(六)常用模块(replace)之文件操作

replace模块详解replace模块可以根据我们指定的正则表达式替换文件中的字符串,文件中所有被正则匹配到的字符串都会被替换path参数:必须参数,指定要操作的文件regexp参数:必须参数,指定一个python正则表达式,文件中与正则匹配的字符串将会被替换。replace参数:指定最终要替换成的字符串。backup参数:是否在修改文件之前对文件进行备份,最好设置为yes(1)远程...

2020-03-25 18:45:49 1541

原创 ansible(五)常用模块(blockinfile,lineinfile,find)之文件操作

blockinfile模块详解blockinfile模块可以帮助我们在指定的文件中插入"一段文本",这段文本是被标记过的,换句话说就是,我们在这段文本.上做了记号,以便在以后的操作中可以通过"标记"找到这段文本,然后修改或者删除它path参数:必须参数,指定要操作的文件。block参数:此参数用于指定我们想要操作的那"一段文本,此参数有一个别名叫"content",使用content或blo...

2020-03-25 18:25:51 2072

原创 ansible(四)常用模块(fetch,copy,file)之文件操作

模块基本用法列出ansible所支持的模块 ansible-doc -|查看模块的详细帮助信息,比如查看fetch模块的帮助 ansible-doc -s fetch调用模块,比如调用ping模块 ansible all -m ping调用模块的同时传入模块所需要的参数,以fetch模块为例ansible 172.25.0.2 -m fetch -a “src=/etc/fstab de...

2020-03-25 14:35:49 8853

原创 absible(三)YAML配置ansible清单

YAML:YAML(Yet Another Markup Language)语言(发音/'jaemal/ )是一个类似XML、JSON的标记性语言。YAML强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义比较简单,号称“一种人性化的数据格式语言”。目的就是方便人类读写。它实质上是一种通用的数据串行化格式我们可以使用YAML编写配置i文件,而ansible的清单 也支持YAML的...

2020-03-24 15:11:37 254

原创 ansible(二)INI格式简单部署ansible

实验环境server1 172.25.254.10ansibleserver2 172.25.254.20被控节点1server3 172.25.254.30被控节点2server4 172.25.254.40被控节点3从官网可以看到安装ansible时需要有网络添加网关ansible安装及部署(1)在server1上面安装ansible...

2020-03-24 14:31:02 466

原创 ansible(一)基础知识

ansible是什么?它是一个配置管理工具,它是一个自动化运维工具ansible能做什么?正如其他配置餐理工具-样,ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作。比如:同时在100台服务器上安装nginx服务,并在安装后启动它们。比如:将某个文件一次性拷 贝到100台服务器上。比如:每当有新服务器加入工作环境时,你都要为新服务器部署redis服务,也就是说...

2020-03-24 13:18:20 242

原创 zabbix(九)proxy监控配置

简介当监控规模变得庞大时,我们可能有成千,上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽平均的分配到不同的监控系统中,这个时候,我们就无法通过统-的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大...

2020-03-18 18:45:32 283

原创 zabbix(八)JMX监控tomcat

Zabbix使用JMX监控tomcat(1)在server2上配置[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/[root@server2 ~]# cd /usr/local/[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat[r...

2020-03-18 15:16:37 198

原创 zabbix(七)结合qq邮箱和第三方应用监控

zabbix结合qqEmail监控服务(1)在web界面上设置(2)在qq邮箱设置白名单由于现在网页版不支持,所以需要在手机APP上下载一个qq邮箱进行设置!!!设置完成后可以在网页上查看(3)配置虚拟机上网(4)安装mailx测试(5)接着步骤(1)在web上设置添加用户启用(6)测试关闭server3的服务邮箱收到信息zabbix结合第三方...

2020-03-18 14:46:14 406

原创 zabbix(六)监控mysql服务

监控mysql(1)建立目录并写隐藏文件mkdir /var/lib/zabbix cd /var/lib/zabbix/vim .my.cnf [mysql]user = zabbix #ps ax 看到的zabbix_server 的用户就是zabbix,所以不用root,太大password = redhatsocket = /var/lib/mysql/mysql.s...

2020-03-18 14:06:17 234

原创 zabbix(五)监控httpd nginx

zabbix监控httpd服务(1)在server2上安装httpd并开启服务[root@server2 ~]# yum install httpd -y[root@server2 ~]# systemctl start httpd[root@server2 ~]# systemctl enable httpd(2)在web界面上进行设置httpd是zabbix自带的监控模...

2020-03-17 21:48:53 207

原创 zabbix(四)API远程查看监控主机 创建监控主机 删除监控主机

什么是API ?API ( Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。(1)查看zabbix系统监控的API接口以及API脚本方式获取身份令牌[root@server1 ~]# vim zabbix-apicur...

2020-03-17 20:44:25 252

原创 zabbix(三)web界面中添加agent被监控端(手动添加 自动发现 自动注册)

实验环境基于上一篇实验在server2上面下载并配置zabbix-agent服务cd /etc/zabbix/vim zabbix_agentd.conf编辑配置文件修改三个地方:98 Server=172.25.254.10 #server1的ip地址,对于server2来说被动139 ServerActive=172.25.254.10 #主动让server1发现,对于...

2020-03-17 15:43:59 429

原创 zabbix(二)监控平台搭建过程

实验环境server1 172.25.254.10zabbix-server,zabbix-web,mariadb-server监控方server2 172.25.254.20zabbix-agent(1)被监控方server3 172.25.254.30zabbix-agent(2)被监控方在server1上面搭建一个基本的zabbix监控平台(1)从真机...

2020-03-17 14:35:33 209

原创 zabbix(一)基础知识

我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常, 所以,监控工具需要定期的对被监控主机进行检查、信息收集等操作,当被监控主机出现异常时,能够及时报警、通知管理员,并且需要记录这些异常,以便我们分析这些数据,查漏补缺,那么,一个监控工具就应该具备采集信息、存储信息、展示信息、报警通知等功能,而zabbix就可以做到这些,除了zabbix,你可能还听说过cacti、nagi...

2020-03-16 21:12:48 500

原创 Redis(四)结合lnmp环境Redis 作 mysql 的缓存服务器

实验环境server1 (172.25.254.10)nginx phpserver2 (172.25.254.20)mariadbserver3 (172.25.254.30)redisRedis结合lnmp数据访问流程:client-> app -> redis -> mysql-> redis -> client客户端用...

2020-03-12 17:05:04 213

原创 Redis(三)redis cluster集群

简介节点Redis Cluste r是分布式架构:即Redis Cluster中有多个节点,每个节点都负责进行数据读写操作每个节点之间会进行通信。meet操作节点之间会相互通信meet操作是节点之间完成相互通信的基础,meet操作有一定的频率和规则分配槽把16384个槽平均分配给节点进行管理,每个节点只能对自己负责的槽I进行读写操作由于每个节点之间都彼此通信,每个节点都知道另外节点...

2020-03-12 15:33:16 257

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除