gin:一个快速的http web framework,基于httprouter封装的,包含了日志处理、错误返回、验证处理、数据格式返回、文件上传、websocket支持、clientip支持、cookie支持。服务入口:gin.go engine.ServeHTTP(),这个会调用Next方法,第一个调用的就是日志middleware,Next中会调用具体的handlers,这个过程
golang slice扩容原理新申请容量 cap,如果大于 2 倍旧容量 (oldcap),要扩容的容量(newcap)= 新申请容量 cap如果旧容量(oldcap)< 1024, 要扩容的容量(newcap)= 旧容量(oldcap)* 2如果旧容量(oldcap) >=1024,要扩容的容量(newcap)= 旧容量(oldcap)* 1.251.18版本以后新逻辑新申请容量 cap
cpu利用率和cpu负载的区别cpu利用率指的是cpu的繁忙程度,是从时间维度来衡量,比如200ms内有100ms在使用,使用率就是50%。cpu负载是综合反映cpu和磁盘IO的使用情况,负载=等待磁盘IO的任务数量(D)+运行任务的数量(R),磁盘IO越高,负载会越高。nginx如何优化可以从指令优化和内核参数优化来回答,详情:https://blog.51cto.com/liuping
nginx指令中的优化(配置文件)worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数。worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者
tengine配置的全局超时时间是120s,供应商说他们的请求会超过120s。于是我针对这个域名配置了相关的超时时间。配置如下:proxy_connect_timeout 600;proxy_send_timeout 600;proxy_read_timeout 600;send_timeout 600;tengine重
引言Kubernetes 在生产环境应用的普及度越来越广、复杂度越来越高,随之而来的稳定性保障挑战也越来越大。如何构建全面深入的可观测性架构和体系,是提升系统稳定性的关键之因素一。ACK将可观测性最佳实践进行沉淀,以阿里云产品功能的能力对用户透出,可观测性工具和服务成为基础设施,赋能并帮助用户使用产品功能,提升用户 Kubernetes 集群的稳定性保障和使用体验。本文会介绍 Kubernetes
The following article is from 阿里云云原生 Author 风敬(谢文欣)阿里云云原生.发布云原生技术最新资讯、汇集云原生技术最全内容,定期举办云原生活动、直播,阿里产品及用户最佳实践发布。与你并肩探索云原生技术点滴,分享你需要的云原生内容。Java 凭借着自身活跃的开源社区和完善的生态优势,在过去的二十几年一直是最受欢迎的编程语言之一。步入云原生时代
本文基于java agent(8.7.0),服务端(9.2.0),不同版本之间可能会有差异。SkyWalking是什么SkyWalking是一个开源的可观测性平台,对服务和云原生基础设施数据收集、分析、聚合和可视化。它是现代的APM,专门为云原生设计。基础术语Service:提供共同行为的一组工作负载,对应cmdb里的应用名。Service Instance:同一个Service下的一个工作负载,
cpu数据相差大在使用top和ps命令查看进程相关数据时,发现一些数据相差太大,给排查问题造成了困扰。如下图,top命令显示systemd进程%CPU数据是54.1,而ps命令显示systemd进程%CPU数据是37.7。统计维度不一样为了弄清楚指标的含义,我查看了top和ps的帮助文档,发现了问题所在,这两个命令统计的维度不一样导致了数据差异性。以下是两个命令的各个指标含义。top命令VIRT进
选择节点步骤k8s默认的调度器是kube-scheduler,它会为新创建的pod且未被调度的pod选择最合适的节点。这个过程如下过滤:节点是否有足够的资源满足请求资源条件,满足条件的节点被称为可调度节点打分:根据不同的条件对节点进行打分,调度器会把pod调度到得分最高的节点绑定:选出得分最高的节点后,调度器会把调度决定通知给kube-apiserver常用的打分条件nodeSelector通过指
saltstack和docker结合实战,对于网站维护非常方便
saltstack平台自动化开发
最近重新看了下salt-cp实现的过程,源代码逻辑相对简单,明白了salt-cp为什么只能针对文本文件、配置文件的拷贝。现在就来看看对应的代码吧源代码文件:salt/cli/cp.pyclass SaltCP(object): def __init__(self, opts): &nb
最近在看minion的启动的源代码,一路曲折啊,经过一番努力,终于理解了流程。现在记录下,方便以后查阅。总体来说流程如下:1、解析命令行参数和minion配置文件,得到options和config字典2、设置日志(salt.log.setup.setup_logfile_logger负责)3、设置pidfile4、根据master参数决定调用salt.minion.MultiMinion或者sal
最近在看saltstack的源代码,了解里面的流程,看了下salt命令的执行流程。想想自己能不能改造下源代码,于是自己在那想需求。后来想想能不能在执行salt的时候指定jid啊。先说下需求:指定salt命令的jid类似这样的:开始动手实现。第一步修改salt.utils.parsers.SaltCMDOptionParser类,增加命令行选项。self.add_option( &nbs
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号