11 2020 档案

摘要:背景 最近公司的项目中使用rocketmq,部署方式为多master-多slave。项目上线一周后,有一天调用方的开发突然找我,说我们的MQ服务的请求调用有延时。 我登陆到broker的机器上查看了broker的store.log,发现pagacache的大部分响应都在0~50ms,有部分请求在10 阅读全文
posted @ 2020-11-30 08:25 公众号-测试生财 阅读(599) 评论(0) 推荐(0)
摘要:背景 公司已上线的项目中的broker集群有部分请求响应较慢,所以进行了线上broker服务的扩容。扩容后整体broker集群的负载下来了不少。这样一周后,某天看rocketmq的客户端的日志中零星打印了报错:system busy。 问题分析 为什么broker集群扩容了,仍旧有报错呢?和开发对了 阅读全文
posted @ 2020-11-30 08:16 公众号-测试生财 阅读(385) 评论(0) 推荐(0)
摘要:背景 项目中使用到了pm2,用于管理微服务的启停,我在相关机器上安装好了pm2,然后使用ansible进行批量启动服务。在使用ansible的shell模块执行远程命令时候却报了错:/bin/sh: pm2 :command not found,如下图 问题定位 1. 在被执行机器上查看pm2命令, 阅读全文
posted @ 2020-11-27 08:37 公众号-测试生财 阅读(1293) 评论(0) 推荐(0)
摘要:前言 如果你想在mac下动态截屏,选款工具强?当然是kap! 项目地址:https://github.com/wulkano/Kap 下载 1) homebrewCask安装(不推荐) brew cask install kap 2)官网release下载(太慢了) https://github.c 阅读全文
posted @ 2020-11-26 08:50 公众号-测试生财 阅读(529) 评论(0) 推荐(0)
摘要:背景 最近公司的网络不稳定,本地电脑访问公司内网的环境老是超时,请教了下组内的老前辈,得知可以通过使用ssh的socket5代理,通过隧道的方式走通。 如图,我本机机器到ServerA的延时较低,但是直接访问ServerB延时较高(A和B之间网络结构关系不明),这样可以在A与B通过ssh实现sock 阅读全文
posted @ 2020-11-25 08:19 公众号-测试生财 阅读(3437) 评论(0) 推荐(0)
摘要:背景 公司的机器上安装了某些node包有冲突,这时候我想去清理一下现有的node包缓存,重新去安装一下node包,但是node_module的目录在哪个路径呢? 解决方法 1. 查看node_modules的目录,执行:npm root -g 2. 查看npm的可执行文件所在目录:npm bin - 阅读全文
posted @ 2020-11-24 08:34 公众号-测试生财 阅读(6276) 评论(0) 推荐(0)
摘要:前言 Elasticsearch Curator是一款ES索引(或快照)的清理神器,可以帮你轻松管理ES中的索引和快照,整体实现过程如下: 从ES集群中获取索引或者快照,作为待执行列表 通过用户定义的filters(过滤器)从待执行列表中删除索引或者快照 通过待执行列表,可以为其定义各种各样的处理动 阅读全文
posted @ 2020-11-20 08:40 公众号-测试生财 阅读(674) 评论(0) 推荐(0)
摘要:背景 最近用vue写一个项目,在服务器上用npm运行该vue项目的时候,执行npm run serve,整个过程执行到一半报错了:Error: ENOSPC: System limit for number of file watchers reached 原因 查了一下,是linux系统的限制导致 阅读全文
posted @ 2020-11-19 20:43 公众号-测试生财 阅读(4407) 评论(1) 推荐(1)
摘要:前言 在项目中写了一个MQTT的客户端小程序,用于测试MQTTServer的连接数上限,运行了一段时间后报错:Cannot assign requested address 网上查了下"Cannot assign requested address"指的是linux系统无法继续为客户端分配端口了(已 阅读全文
posted @ 2020-11-18 08:21 公众号-测试生财 阅读(867) 评论(0) 推荐(0)
摘要:背景 最近我所在项目的进程管理工具从supervisor切换到pm2了,原因之一是因为长期二者兼容导致维护成本过大。后来经过和研发同学沟通,最终选择统一成pm2,因为pm2在windows下也可以对进程进行管理,方便他们在windows本地开发环境起服务调试。 supervisor的进程配置文件中自 阅读全文
posted @ 2020-11-17 08:15 公众号-测试生财 阅读(635) 评论(0) 推荐(0)
摘要:写在前面 本文内容总结来自于《睡眠革命》这本书,作者是一名资深的睡眠教练,曾帮助曼联等多个球队以及诸多体育明星改善了睡眠质量,书中讲述了很多睡眠的基本原理,给出了很多可实际操作的睡眠改善方法。如果有要详细学习了解的朋友建议买一本纸书看看,看完后再实践一部分操作后确实真有收获。相信本文相关分享能帮助你 阅读全文
posted @ 2020-11-16 08:26 公众号-测试生财 阅读(533) 评论(2) 推荐(1)
摘要:接上篇,vue的父组件向子组件获取值,如果父组件需要主动调用子组件中的属性方法该如何实现? 获取方法 1、 父组件中使用子组件的时候在给子组件定义一个ref属性 2、父组件可以通过this.$refs.XXX,来操作子组件中的属性和方法 子组件Sub1.vue <template> <module 阅读全文
posted @ 2020-11-13 08:24 公众号-测试生财 阅读(2374) 评论(0) 推荐(0)
摘要:简介 vue中组件与组件的关系存在两类:父子组件与非父子组件。 如下图所示,三个组件中就包含了父子组件与非父子组件两种情况,这里组件之间的交互主要由值传递和事件触发调用两种方式,这里先分享下父组件向子组件值传递。 方式 父组件可以向子组件传递的值有三种类型 属性变量或者纯文本 函数名 父组件自身实例 阅读全文
posted @ 2020-11-12 08:55 公众号-测试生财 阅读(368) 评论(0) 推荐(0)
摘要:背景 最近在项目中需要编译arm架构的某驱动docker镜像,但是手头上没有现成的arm架构的机器环境,于是在网上搜索了下如何在x86机器模拟arm环境来进行编译。我找到了一款神器:multiarch/qemu-user-static 简介 项目地址:https://github.com/multi 阅读全文
posted @ 2020-11-11 21:22 公众号-测试生财 阅读(4355) 评论(0) 推荐(0)
摘要:简介 上文介绍了ansible的shell模块,今天要为大家分享的是command模块和raw模块的使用。 command和raw模块和shell一样,都是用于执行shell命令,三者都不具备幂等性,如果有能替代的ansible模块,尽量不要说使用该模块。 对比 模块 用途 特点 shell 均用于 阅读全文
posted @ 2020-11-10 19:48 公众号-测试生财 阅读(593) 评论(0) 推荐(0)
摘要:简介 shell模块是ansible里面比较常用的模块。顾名思义,shell模块用于执行shell命令。我们利用ansible批量在多台机器上执行shell命令,该模块非常的简单粗暴。 对于ansible很多模块,都可以用shell替代达到相对应的效果。 虽然shell模块看起来非常万能,但存在着许 阅读全文
posted @ 2020-11-09 19:29 公众号-测试生财 阅读(8245) 评论(0) 推荐(0)
摘要:简介 vue中的html元素的属性和事件是支持通过变量方式动态修改,和原始js的dom操作有一些区别。这里总结一下vue的属性绑定与事件绑定的方法,以及与原生js的对比。 属性绑定 属性绑定指的是将html元素的一个属性值设置成变量。 原生的html中,比如<input type="text" /> 阅读全文
posted @ 2020-11-06 08:11 公众号-测试生财 阅读(1055) 评论(0) 推荐(0)
摘要:前言 在vue中,请求后端接口的模块有三种: vue-resource axios fetch 这我们使用axios去请求后端接口。 安装 进入vue项目的目录,执行: npm install axios --save 使用 axios支持的http请求方法如下 axios.request(conf 阅读全文
posted @ 2020-11-05 07:57 公众号-测试生财 阅读(2119) 评论(0) 推荐(0)
摘要:背景 项目中搭建了一套集群环境,整个集群机器的网络可用性通过一个shell脚本来进行监控。该脚本在检测网络连通性失败的情况下会打印错误日志并发送邮件通知给相关人员。那如何使用linux命令来发送邮件呢? 这里找到了一个好工具:mailx。 简介 Mailx is an intelligent mai 阅读全文
posted @ 2020-11-04 07:35 公众号-测试生财 阅读(591) 评论(0) 推荐(0)
摘要:前言 最近在用go编译某gomod管理的项目时,由于是新安装的go环境(参考go环境安装),在编译的时候出现了三个问题: 1. go的proxy超时: dial tcp 34.64.4.17:443: i/o timeout 2. go get读取用户名失败:terminal prompts dis 阅读全文
posted @ 2020-11-03 07:52 公众号-测试生财 阅读(708) 评论(0) 推荐(0)
摘要:背景 在后端服务运行过程中,有时会遇到一个时间不同步的问题,即服务器时间对比当前时间会有滞后或超前。 这种时间不同步导致某些软件服务问题,例如: 1. 服务日志打印的时间不准,导致查问题比较麻烦。 2. 在服务写入数据到数据库或者其他中间件的时候,时间戳不对,导致页面显示异常 3. 集群化服务在不同 阅读全文
posted @ 2020-11-02 07:58 公众号-测试生财 阅读(912) 评论(0) 推荐(0)