自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vinter_he

程序员也可以有诗和远方

  • 博客(97)
  • 资源 (1)
  • 收藏
  • 关注

原创 向用户屏蔽来源:使用nginx代理https网站,进行转发访问

要做什么当我们的一些资源来源于其他网站的时候,尤其是图片等信息。我们往往不想让用户知道资源来自于哪里。这样方便公司对自己的业务和技术细节进行保密。我们就以图片信息举例说明,这时候我们一般有两种解决方案。办法一:转存所有图片即本地扮演一个缓存服务器的角色,把图片来源方的所有图片缓存到本地,用户访问的时候直接从本地获取,获取不到的时候直接去拿最新的进行缓存,拿不到返回404。优点:用户体验更好,因为绝大部分用户的访问速度很快缺点:工作量比较大,且在批量保存信息的时候会拖慢速度,并且浪费服务器存储空

2021-06-16 11:44:25 3260

原创 网络传播时延(propagation delay)与传输时延(transmission delay)

传播时延(propagation delay)数据(更确切地说是光电信号,因为数据在传输的时候,是隐藏在光电信号)从网络一端经过介质传播到另一端的时间。决定因素这主要取决于光电信号在介质中传播的速度,还有两端直接介质的长度。传输时延(transmission delay)方便记忆的话,把传输时延改成发送时延,或者输送时延都更清晰一点。计算机网络这本书上翻译为传输时延,对于汉语来说容易有歧义决定因素其实它指的是数据从开始发送,到发送完成需要的时间。这其实和信道传输速率有很大关系。注意这里说速率就

2021-06-10 21:02:03 7080

原创 机会成本是什么

什么是机会成本我的理解:经济学中,当你从事一种投资活动A的同时,你所付出的成本,除了投资所用的钱之外,还应该把另一种成本计算在内。这另一种成本为:若未在A投资中花掉这笔钱,你有机会利用这笔钱去进行另一种投资活动B而获得收益。机会成本在非经济学中的体现实例1:我们常说时间就是金钱,如果我们下班回家玩了一晚上,我们会经常感觉浪费了这一晚上的时间。其实对于我们来说,浪费掉的不仅仅是时间,还有你原本可以在这一晚上的时间中学习到更多知识的机会。实例2当我们花十元钱进行无意义的消费的时候,我们失去的并不仅仅

2021-06-04 21:18:33 2847 1

原创 Elasticsearch和倒排索引

mysql全文搜索的不足之处我们举几个例子就可以说明假设商品表中有商品详情,商品名称,商品规格等一些列的字段,我们假设在想要查询的字段上都有最合适的索引。1.搜索商品名中包含苹果或者香蕉或者橙子的2.搜索商品名称和详情中包含苹果的3.搜索商品名称和详情中包含苹果或者香蕉或者橙子的4.搜索商品名称和详情中包含苹果或者香蕉或者橙子的,并按照出现的次数多少进行倒叙排序可以发现一个问题,当mysql应对多个字段上的模糊查询的时候,是只可以使用一个索引的,并且还要求...

2021-03-30 15:34:50 3314

原创 布隆过滤器(Bloom Filter)

为啥布隆过滤器当我们使用缓存或者其他场景的时候,有可能遇到一种情况,就是明明没有这条数据,但是他又在正常区间内,比如说访问id为700000的数据,实际上你的数据只有1w条。数据库中都没有,那缓存中也就没有。这时候如果必须每次都要去缓存和数据库中查询,则会极大的浪费缓存和数据库资源。而布隆过滤器,提供一种机制,就是过滤掉大部分不合理的数据。如果布隆过滤器告诉你这个数据不存在,则一定不存在,也就不需要去做浪费资源的操作。什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(prob

2021-03-23 17:22:51 3392

原创 数据库单表大量数据的分页优化方案

1 何时需要优化1.1 单表数据量大,访问最后几页的时候特别慢比如我们单表的数据有1000w以上,此时当偏移量offset比较大的时候,普通查询会导致查询效率从前几页的几十毫秒,增加到十几秒甚至更高1.2 非正常访问其实绝大部分情况下没有多少用户真的翻页到最后几页,大致的情况为前端分页组件有跳转到最后几页的链接,或者是被别人恶意请求数据,比如爬虫爬取数据。2 问题出现在mysql的limit机制分页操作通常会使用 limit 加上偏移量的办法实现,同时再加上合适的 order by 子句。但这会

2021-03-19 15:01:51 4093

原创 四层和七层负载均衡的区别

这篇文章是因为在阿里云上做负载均衡的时候,遇到了一些问题,在找问题原因的时候,发现是因为没有注意当时创建的负载均衡是四层负载均衡器。问题表现形式在负载均衡后端的服务器访问一个正在使用此负载均衡的项目api的时候,偶尔访问的到,偶尔访问不到。四层负载均衡四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标IP地址

2021-03-15 16:00:08 4364

原创 k8s的pod出现ImagePullBackOff(解决拉取私有镜像的权限问题)

出现的情况:ImagePullBackOff当大家部署deployment的时候,如果拉取的是私有仓库一般会先登录上去拉取镜像。但是有时候当某个节点资源紧张,或者是节点故障等原因,pod发生迁移的时候,会重新拉取镜像。这时候如果你的k8s是多个私有镜像账号混用等情况导致的登录状态失效,会导致ImagePullBackOff的错误。查看kubectl describe pod …Failed create pod sandbox: rpc error: code = Unknown desc = fai

2021-02-08 10:31:31 28461 2

原创 alpine的docker环境中php安装amqp扩展

我使用的是ric_harvey/nginx-php-fpm的镜像。因为用的是alpine,命令和包名称和centos等系统的都不太一样。遇到了很多坑,但是我当时没有记录下来,出错以后查看相应的错误提示,也能知道是少了哪些包。这里做一下使用的命令记录。安装 autoconf(无configure脚本时):apk add --no-cache -U autoconf安装 C 编译器:apk add --no-cache -U gccapk add --no-cache -U libc-dev安

2021-01-05 10:59:58 5265

原创 jenkins自动化部署应用到k8s(11):jenkins配置发送邮件通知

一 前言本来以为邮件服务比较简单就不记录了,但操作发现里面还是有不少坑,比如邮件发不出去了。排坑的过程就是理解插件作用的过程,理解了每一步的作用自然之道如何处理异常。二 jenkins配置邮件服务过程2.1 插件安装Email Extension Plugin插件,具体安装步骤可以看之前的文章,也可以自己百度。默认写到这里就已经都知道怎么安装插件了。2.2 系统配置邮件服务2.2.1 配置smftp server阿里云邮箱,配置比较简单。smtp固定值和我一样就可以,账号密码

2020-12-08 14:32:52 8376

原创 jenkins自动化部署应用到k8s(10):阻止git无提交的构建

当使用jenkins进行自动构建的时候,我们不能保证每次推送都不出问题,也不能保证我们没有点错构建导致重复构建,影响线上的问题,那么我们怎么避免这种问题呢。1.针对每次触发jenkins构建的commit,要增加审核流程和权限控制2.对于误点击构建按钮的情况,如果本次git的commitid是和上次构建一致的,就不在进行构建和更新镜像。直接拦截处理。如果仍然需要更新,可以使用更新readme文件或者其他非代码文件的方式推送触发构建。#拦截处理的代码if [ $GIT_PREVIOUS_SUCCESS

2020-12-08 13:55:08 5428

原创 jenkins自动化部署应用到k8s(9):docker中的jenkins怎么调用kubectl进行部署

jenkins中安装kubectl因为jenkins中没有kubectl工具,所以如果想要调用的话首先要在jenkins的容器中安装这个命令。有两种方式,第一种:是直接调用宿主机的kubectl第二种:是在内部安装。另外比较重要的就是kubeconfig怎么导入使用。直接调用宿主机的kubectl和之前的文章一样,把工具映射进来,或者在jenkins的docker中安装kubectl也可以,拷贝进去也可以。最终命令就变为docker run --name jenkins.

2020-11-24 10:17:51 8591 3

原创 jenkins自动化部署应用到k8s(8):构建和上传镜像

部署k8s参见我的k8s专栏,有很详细的步骤和描述。这里只讲上线的时候连接k8s和镜像替换。阅读本文需要的知识docker相关命令Dockerfile的编写shell命令基础部署思路我以前的思路是代码都是放在oss中,pod运行的时候会挂载oss到容器中进行项目代码处理,网站设置和nginx的启动。这样做符合当时我们快速处理上线的需求。但是对于长期的部署和回滚来说,增加了很多人工劳动力,比如需要先准备好代码,而不是直接从git仓库获取。过程不够自动化,完全抛弃了k8s的回滚等功能。新的部署思

2020-11-24 09:35:07 7158

原创 jenkins自动化部署应用到k8s(7):docker安装的jenkins调用docker命令

安装jenkins有两种方式,一种是直接安装在centos这类的linux实体机中,一种是docker安装。使用普通功能的时候差不不大,但是当要调用外部命令的时候,因为docker一般环境不健全会有很多坑需要踩。比如本文涉及的docker中运行docker命令。、应该以怎样的形式运行问题1:docker中是否可以运行docker答:可以,也就是docker in docker技术问题2:如果docker中不运行docker,是否可以执行docker命令。答:可以,把宿主机的docker.sock文

2020-11-20 14:19:58 7262 1

原创 jenkins自动化部署应用到k8s(6):配置jenkins项目_下

构建构建步骤:可以增加多个构建步骤,可以是下面图中红框标出的其中一种。我这里演示的是执行shell,当然也可以是invoke Ant(调用ant),这是一种java语言编写的构建工具,其功能和shell也类似,多了步骤依赖和一些其他功能,对于我们来说,哪种熟悉用那种就好。比如本文是准备打包好的应用放到docker中,并把镜像push到阿里云镜像中心,但是我们在这篇文章中不做详解,之后的文章中会详细描述我们在这期间遇到了什么问题。构建后操作构建后操作,就是对project构建完成后的.

2020-11-20 10:57:04 6291

原创 jenkins自动化部署应用到k8s(6):配置jenkins项目_上

创建项目创建一个自由风格的项目就可以,也是用的比较多的方式,包括配置项,我们不会一一详解,只会选择比较常用的部分讲解,其他的自己研究吧,手动狗头。1.General(基础配置)丢弃旧的构建其中可以选择保持的天数和保持的个数。因为服务器资源是有限的,有时候保存了太多的历史构建,会导致Jenkins速度变慢,磁盘占用过大等问题。当然下方的"保持构建天数" 和 保持构建的最大个数是可以自定义的,需要根据实际情况确定一个合理的值。2.源码管理源码管理,也就是项目代码存放的位置..

2020-11-20 10:04:12 6637

原创 jenkins自动化部署应用到k8s(5):gitlab创建项目

项目组创建选择左上角的群组,点进去后,右上角点击新建群组群组名称 可以自由定义 群组url分成三个部分,最前面是你服务器地址, 后面是项目标志符号,可以和项目名称统一方便记忆,也可以不统一。可见性级别私有 项目所属组内部的人员你可以看到 内部 所有有权限登陆服务器的都可以看到 公开 所有人可以不经过登陆查看项目创建点击左上角的项目,或者gitlab图标,进入项目列表。点击新建项目进入如下页面我们这里选择的空白项目,也可以导入项目或者从模板创建。...

2020-11-19 16:41:09 6041 1

原创 jenkins自动化部署应用到k8s(4):jenkins安装插件报错java.io time out

错误起因在使用jenkins的过程中,因为我下载的官方镜像,带的插件源是官方的,在国内不时会出现下载慢,下载超时报错的情况。因为当时没有留下截图,所以我这里也就不再模拟一次错误了。大致是java.io包,报了一个time out错误,实际上就是因为国外插件源访问超时。目前我们国内的团队正在积极的为成立jenkins中文组织做努力,我也在其中受益良多,希望大家多为各种国内技术组织贡献力量。解决方案直接使用含有中文插件源的镜像因为我们使用docker安装jenkins的时候一..

2020-11-19 11:00:42 6211

原创 jenkins自动化部署应用到k8s(3):部署思路

一、gitlab搭建二、jenkins搭建三、配置jenkins项目配置项目源码来源首先是要选择你自己的代码源,比如可以是gitlab或者github,或者是自建的git服务器,svn等等。jenkins中都有相关的插件来支持。本文之后将会使用Multiple SCMs,因为我们在使用过程中,有可能是需要用到多个git仓库(比如配置项和代码项分到了git仓库)我们就需要为每一个git仓库检出到不同文件夹,否则拉去两个git项目,后拉取的会覆盖前面的git项目的代码,最后成了之后后拉取的代码。构建

2020-11-19 10:22:08 6442

原创 jenkins自动化部署应用到k8s(1):安装gitlab

本文安装环境centos7.7docker:19.03.5本文需要的基础知识docker的基本操作gitlab镜像GitLab 分为 社区版(Community Edition,缩写为 CE)和 企业版(Enterprise Edition,缩写为 EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版就足够了。下载镜像首先需要先下载 GitLab CE 的镜像,使用下面的命令进行下载,因为文件较大,所以可能需要一点时间,耐心等待即可。#..

2020-11-18 15:20:26 6177

原创 jenkins自动化部署应用到k8s(2):docker安装jenkins

本文安装环境centos7.7docker:19.03.5本文需要的基础知识docker的基本操作拉取镜像#docker pull jenkins/jenkins:ltslts就是latest的简写,不提前pull的时候,下面的run命令也会自动下载该镜像。创建本地数据卷我这里映射本地数据卷的路径为/data/jenkins_home/,你想放别的地方可以自行修改# mkdir -p /data/jenkins_home/需要修改下目录权限,因为当映射本地数据

2020-11-17 11:47:21 6363

原创 面试小技巧

最近在公司面试了几十个人,过程中自己总结了一些能提高面试成功率的经验。印象分人和人之间第一印象很重眼,这就不用多说了吧。长相是先天的没办法改变。其他的部分还是需要修饰一下。简历简历不一定要用什么框起来,也不一定要用多好的材质。但是有几点需要注意,不论是在线简历还是纸质简历,除了排版外还要注意以下几点精简:用最少的纸张说最全面的事情,扬长避短突出重点:第一页一定要放自己最突出的能力,并且结构和逻辑要清晰注意:除非约面试的时候说了可以不带简历,否则必须带纸质简历。衣着不要着奇装异服,头发的

2020-10-28 16:23:14 7351 1

原创 k8s滚动升级-只看这篇就够了

对于多实例服务,滚动更新采用对各个实例逐批次进行单独更新而非同一时刻对所有实例进行全部更新,来达到不中断服务的更新升级方式。对于Kubernetes集群来说,一个service可能有多个pod,滚动升级(Rolling update)就是指每次更新部分Pod,而不是在同一时刻将该Service下面的所有Pod shutdown,然后去更新(例如replace --force方案),逐个更新可以避免将业务中断,(但是也可能带来数据不一致的问题,本文就不过多讨论了)。关键代码在spec项中增加几个参数s

2020-10-14 15:43:55 16134 2

原创 k8s使用现有证书配置https

已有证书导入证书#kubectl create secret tls example-secret --key cert/xxx.key --cert cert/xxx.pem注意 名字和后缀是可以更改的,比如有可能证书的后缀是crt。ingressde yaml文件配置示例:apiVersion: extensions/v1beta1kind: Ingressmetadata: name: examplespec: tls: - hosts: - www

2020-09-29 14:38:12 13748

原创 redis的内存参数详解及线上问题解决思路

redis性能会受到什么影响内存容量cpu使用率网络使用/优化不当redis性能出现问题的表象有哪些连接超时延时过高查看redis的某些参数和其含义info连接redis以后,输入info,info命令输出的数据可分为10个类别,分别是:serverclientsmemorypersistencestatsreplicationcpucommandstatsclusterkeyspace可以使用info 加上上面的随意一个类别,来分类别查询,例如 inf

2020-09-21 11:44:35 13869

原创 一文彻底掌握时间复杂度和大O表示法

预备知识:计算机基础知识高中数学知识时间复杂度用来干嘛时间复杂度是衡量算法好坏的一个重要指标,另一个重要指标是空间复杂度。算法我们先来了解一下算法,对于一个计算机程序,其算法就是其内部执行的各种逻辑的执行步骤。算法既然是计算机上的程序的逻辑执行步骤,那他运行的过程中,必须是需要占用计算机的cpu和存储空间。其中使用cpu计算的总次数的数量级,就以时间复杂度来标识(因为往往运算的次数和时间是成正比的,次数多,使用的时间就多),符号为大写O。时间复杂度的定义一般情况下,算法中基本操作重复执

2020-09-15 17:48:29 11710

原创 为什么使用微服务?要不要使用微服务?

技术每年都会有新的概念产生,这也是说为什么it行业需要终生学习的原因。不过如果不出现大的技术变革,计算机的原理没变,那么学习各种技术相对还是比较容易,大多还是从设计理念上的改进。即使是这样,每年也都有很多新名词出现,我们不可能每一种都去学习,但是该了解还是需要去了解一下。至于用不用,还是看业务需要。什么是微服务讲微服务之前,先了解一下什么是服务化服务化服务化(SOA)是一种构建分布式应用的方法,本质上是实现代码模块到服务的转变,以方便同样的代码块在分布式环境中的重用。服务化的优点便捷性:屏蔽

2020-09-04 14:26:07 12794 4

原创 php程序员要不要转java

首先这个问题曾经是真实困扰过我的问题,也希望能给有这种疑惑的人一点启示这几种情况你可以去转向java个人建议如果你使用php已经有一段时间,php已经限制了你的发展,可以去学习java转向java或者其他语言。如果你刚开始工作,刚做php,但是觉得php前景不那么好,并且也有经济支撑自己去学习,就去学。学习能力比较强,并且对计算机基础已经有一些了解,并且热爱编程,那我相信你一定能学好java这几种情况你需要慎重考虑转向java非计算机出身,计算机知识比较薄弱,并且不确定自己能否坚持的下来

2020-09-04 10:51:10 12203 1

原创 缓存穿透、缓存雪崩、缓存击穿及其解决方案

缓存在系统中的位置因为大型系统,其数据库资源比较紧俏,并且数据库的访问速度并发量远不如目前的各种内存缓存系统。所以缓存的主要意义是减少数据库压力,增加访问速度。其位置是建立在数据库层和业务逻辑层之间。缓存容易出现的问题人为攻击类型缓存穿透描述:缓存穿透是指访问数据库中都没有的数据(数据库中没有,缓存中自然也没有),如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:接口层增加校验,排除明显的非法数据,例如id<=0的直

2020-09-02 11:24:15 15784

原创 b-tree和b+tree以及mysql为什么使用了b+树

最近写了一些mysql的博客,但是对于索引的数据结构一致没有深入的描述过。所以就有了这一篇文章。b tree和b-tree就是一个玩意应该很多人都看到过b树和b-树,还有b+树,不了解的小伙伴还以为这是三个东西,但是其实b树和b-树就是一种事物的两种称呼而已。b树(Balanced Tree)多路平衡查找树对比于二叉树来说,可以认为他是多叉的。其图如下其特点如下:所有关键字和数据分布在整个树中。 任何关键字出现且只出现在一个节点中。 因为数据在节点上,所以搜索有可..

2020-08-31 18:16:40 12212

原创 聚簇索引和非聚簇索引的区别对比

释义:聚簇索引:将数据与索引放到了一起存储,索引树结构的叶子节点保存了行数据非聚簇索引:将数据与索引分开存储,索引结构的叶子节点放的是指向数据的指针(或者说是地址)在mysql中的应用innodb的索引都是聚簇索引,其数据直接存放在叶子节点上,但是主键索引(一级索引)叶子节点中存放的就是数据本身,辅助索引的叶子节点上存储的是主键。myisam使用的是非聚簇索引,其叶子节点上不存放数据,存放的是数据的实际地址。一张表一定只有一个聚簇索引,因为聚簇索引代表了文件的实际存储形式,一张表在磁盘上只会有

2020-08-27 16:22:48 14049 3

原创 nginx的log_format日志格式和字段介绍

nginx中access_log记录日志是可以自定义格式的,通过自定义格式,一方面供我们更方便的查询请求,另外还可以做统计,接口访问速度分析等。语法:log_format name format [format ...]例如nginx中默认的格式如下:log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$.

2020-08-27 14:45:01 21817

原创 innodb的索引下推

索引下推,是mysql优化多列索引查询的一种方案,叫做索引下推不如翻译为索引条件下推更合适(Index Condition Pushdown)简称ICP,因为他实际上是把where中的查询索引条件,下推给了存储引擎本文涉及到的内容有:回表索引下推索引覆盖预备知识:b+tree主键索引和非主键索引聚簇索引和非聚簇索引主键索引和非主键索引说到回表,我们先回顾一下innodb主键索引和非主键索引(辅助索引)的区别(具体的之后写一篇文章来讲解,这里只是简单带过)。他们数据存储的方式是一

2020-08-25 16:32:18 13028

原创 mysql的explain字段说明

在写上一篇文章的时候,用到了explain,来讲解一下explain的用法。其用途是为了查看sql语句的执行计划,比如查看SQL语句有没有使用上了索引,有没有做全表扫描等如下:表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询基本用法和输出格式语法explain < SQL>输出格式+----+-------------+-------+-------+-------------------+---------+

2020-08-25 11:38:03 12965

原创 innodb组合索引的最左前缀原则

我们在使用数据库的时候,为了增加访问速度,经常会给某张表增加一些索引。单列索引我之前已经写过一篇文章提过,今天我们主要讲一下怎么使用多列索引,和多列索引的最左前缀原则。关于最左前缀的误解早些年读高性能mysql这本书的时候,当年感觉书中对于最左前缀的描述相对来说晦涩一点,并且没有详细的例子来说明具体什么是最左前缀,所以在一段时间内我都以为where还要按照顺序写才能触发最左前缀,其实并不是这样。假设表结构如下CREATE TABLE `testindex` ( `id` int(10) NOT

2020-08-21 16:37:16 23649 6

原创 innodb的写缓存

innodb的写缓存,其设计思想同样是为了减少磁盘的io来提升性能。对于数据库的写来说,有如下两种情况1. 修改的内容所在页在缓冲池内会有如下两步操作直接修改缓冲池中的页,一次内存操作写入redo log,一次磁盘顺序写操作那什么时候数据会把修改的数据落盘呢,他会进行定期刷盘,如果没有等到刷盘时间,数据就被从缓存淘汰,就会把脏页刷回磁盘。这样能减少io次数,提升性能。把随机写变成顺序写和批量写,这是优化程序性能的有效方式。这样数据在读取怎么保持一致性,数据库异常的时候是怎么处理的呢

2020-08-16 18:42:46 13971

原创 浅谈如何做好项目管理

项目管理我是认为其实不论是哪一工种,做到后期都需要解除公司的核心知识,所以我不会认为我是一个技术,就不需要去关注公司项目的优劣势。不过我刚接触几年,有哪些说的不对,各位大牛见谅,下面我就开始班门弄斧了。项目策划项目优势优势一般来说有两种不可短期复制的优势可以短期复制的优势这个短期和长期一般是参考自己项目的更新频率和项目复杂度的,比如技术项目的更新时间,和项目复杂度决定了自己有多久不被对手模仿。资源方面的优势其实是很难被短期内模仿的,技术方面的就比较好模仿。这方面其实实体企业一直有自己的优

2020-08-16 15:25:48 13446

原创 阿里云上的k8s中某些节点的pod报dns错误,dns解析失败,bad address

php报错为:php_network_getaddresses:getaddrinfo failed问题可能出现的位置这类问题对应的都是dns解析错误。这里我的错误是因为我连接阿里云数据库用的域名方式,同样的错误还可能出现在调用带域名的网络服务等情况。这个问题为啥那么魔性首先我在阿里云上的k8s中有多个节点,使用的是同一个安全组策略(所以一开始没有考虑是网络安全组问题)。但是其中一个节点中的pod的dns出现问题。连接不到数据库,也ping不通其他的域名。而且如果你部署的pod数量大于1,那么你会发

2020-08-13 17:33:48 15113

原创 mysql的缓冲池buffer pool

缓存的概念在计算机中,缓存技术随处可见,其主要目的是提高访问速度。由于底层磁盘的存取速度比较慢,尝尝会使用内存作为缓存,这是我们程序员最常遇到的方式,比如java中的各种buffer,都是为了加快读取或者写入速度。另外还有一种是cpu参数中的缓存,一般有三级,每一级都是下一级的缓存。缓存是什么缓存其实不是一个物理设备,他是一种为了加快访问速度,同时控制成本的一种设计思路和理念。其通过把快速设备作为慢速设备的缓存,来提高系统的访问速度。其出现的原因就是高速设备一般价格昂贵。缓存的特点缓存一定有下一

2020-08-12 18:18:05 13401

原创 helm3进阶使用和出错排查

一些升级用法定义复杂类型模板我们上文中有讲过怎么遍历对象和数组,但是没有具体的讲怎么使用,现在教程来了。引用多级对象#values.yaml文件定义#资源占用,若不需要,直接写{}requests: cpu: 500m是怎么引用的apiVersion: apps/v1kind: Deploymentmetadata: ...省略spec: ...省略 template: ...省略 spec:

2020-08-07 17:21:43 16808 1

时间戳转换工具(windows端)

作为一个程序员一般情况下,json和时间戳是常用的两个工具,我咨询过很多个朋友,他们一般都是通过在线工具对json进行格式化,或者查询时间戳。这个方式也是我之前的使用方式,此种方式不足之处如下: 1.每次打开过程步骤繁琐,即使收藏了也要先打开浏览器,然后点击 2.如果打开的浏览器标签足够多的话,根本找不到(就是说的我这样的人) 3.等 后来我发现了hijson这个工具可以本地格式化json后,一直想找一个本地查找时间戳的小工具。奈何互联网大神们没有满足我的需求。于是我决定自己写一个。

2018-09-18

空空如也

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

TA关注的人

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