-
主流微服务全链路监控系统之战
问题背景随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。全链路监控组件就在这样的问题背景下产生了。最出名
2021-11-04 shuai.chang
-
基于 Nginx+lua+Memcache 实现灰度发布
一、灰度发布原理说明灰度发布在百度百科中解释:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。这里的用于WEB系统新代码的测试发布,让一部分(IP)用户
2021-11-04 shuai.chang
-
这些 Shell 分析服务器日志命令集锦,收藏好
自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试!1、查看有多少个IP访问:awk '{print $1}' log_file|sort|uniq|wc -l2、查看某一个页面被访问的次数:grep "/index.php" log_file | w
2021-11-04 shuai.chang
-
浅析 k8s 容器运行时演进
在docker/k8s时代,经常听到CRI, OCI,containerd和各种shim等名词,看完本篇博文,您会有个彻底的理解。典型的K8S Runtime架构从最常见的Docker说起,kubelet和Docker的集成方案图如下:当kubelet要创建一个容器时,需要以下几步:Kubelet 通过 CRI 接口(gRPC)调用 dockershim,请求创建一个容器。CRI 即容器运行时接口
2021-11-04 shuai.chang
-
这款网络排查工具,堪称神器!
常用的 ping,tracert,nslookup 一般用来判断主机的网络连通性,其实 Linux 下有一个更好用的网络联通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是 mtr。mtr 全称 my traceroute,是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具。traceroute默认使用UDP数据包探测,而
2021-11-04 shuai.chang
-
Linux环境变量总结
Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。设置环境变量的方法对所有用户生效的永久性变量这类变量对系统内的所有用户都生效,所有用户都可以使用这类变量。作用范围是整个系统。此文件只在root下才能修改。# vi /etc/profileexport
2021-11-04 shuai.chang
-
一篇超详细的正则表达式简明指南
公司使用的markdown解析类库一直有一些解析上的问题,最近给fix了。而markdown解析主要是对正则表达式的使用。中间恶补了一下相关知识,在此梳理一下。什么是正则表达式正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。简单的一个例子:用字符串”a”来验证字符串s是否是”a”,形如s.match(“a”)。概括来说有以下作用:验证字符串是否符合指定特征
2021-11-03 shuai.chang
-
Ansible Playbook详解
Playbook 是一个由一个或多个 play 组成的文件;play 是针对特定主机或主机组执行的一组有序的任务;每个 playbook 必须包含两部分:hosts: 运行 playbook 的一组主机tasks: 需要在主机上运行的任务除了这两个必须选项,还有一些可选项选项,也可能需要包含在 play 中,如:name: play 的名称,在运行该 play 时,会在运行过程中显示。become
2021-11-03 shuai.chang