草庐IT

kubernetes之资源限制及QOS服务质量

1.什么是资源限制?1.1在kubernetes集群中,为了使得系统能够稳定的运行,通常会对Pod的资源使用量进行限制。在kubernetes集群中,如果有一个程序出现异常,并且占用大量的系统资源,如果没有对该Pod进行资源限制的话,可能会影响其他的Pod正常运行,从而造成业务的不稳定性。1.2正常情况下我们在一个宿主机的内核之上,这个宿主机可能管理了一组硬件包括CPU、内存。而后在这个宿主机的内核之上,我们可以运行多个容器,这些容器将共享底层的同一个内核,很显然,硬件是属于内核的,因此任何容器中的每一个进程默认可以请求占有这个内核管理的所有的可用硬件资源。1.3尤其是多租户的环境当中,有人恶

一次不规范HTTP请求引发的nginx响应400问题分析与解决

背景最近分析数据偶然发现nginxlog中有一批用户所有的HTTPPOSTlog上报请求均返回400,没有任何200成功记录,由于只占整体请求的不到0.5%,所以之前也一直没有触发监控报警,而且很奇怪的是只对于log上报的POST接口会存在这种特定用户全部400的情况,而对于其他接口无论POST还是GET均没有此类问题。进一步分析log发现其实对某些地区的用户请求,这个比例甚至超过了10%,于是花时间跟进了一下,最终发现源于部分机型客户端发出的HTTP请求格式不规范导致,这里记录一下分析过程、原因以及最终解决方案。问题分析常见nginx400原因搜寻网上资料,发现一般可能有以下几个原因会导致n

一次不规范HTTP请求引发的nginx响应400问题分析与解决

背景最近分析数据偶然发现nginxlog中有一批用户所有的HTTPPOSTlog上报请求均返回400,没有任何200成功记录,由于只占整体请求的不到0.5%,所以之前也一直没有触发监控报警,而且很奇怪的是只对于log上报的POST接口会存在这种特定用户全部400的情况,而对于其他接口无论POST还是GET均没有此类问题。进一步分析log发现其实对某些地区的用户请求,这个比例甚至超过了10%,于是花时间跟进了一下,最终发现源于部分机型客户端发出的HTTP请求格式不规范导致,这里记录一下分析过程、原因以及最终解决方案。问题分析常见nginx400原因搜寻网上资料,发现一般可能有以下几个原因会导致n

HTTP 400 错误

400是HTTP的状态码,主要有两种形式:1、badrequest意思是"错误的请求";2、invalidhostname意思是"不存在的域名"。400BadRequest是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。在ajax请求后台数据时比较常见。产生HTTP400错误的原因有:1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;2、前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;解决方案:1、对照字段名称,类型保证一致性2、使用stringify将前端传

HTTP 400 错误

400是HTTP的状态码,主要有两种形式:1、badrequest意思是"错误的请求";2、invalidhostname意思是"不存在的域名"。400BadRequest是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。在ajax请求后台数据时比较常见。产生HTTP400错误的原因有:1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;2、前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;解决方案:1、对照字段名称,类型保证一致性2、使用stringify将前端传