• Prometheus 高可用方案

    本文介绍了 Prometheus 的高可用官方方案和自研高可用方案。 一、现实可用的小规模高可用方案 关于 Prometheus 的高可用,官方文档中只提供了一个解决方案,具体实现方式如下: 使用两个 Prometheus 主机监控同样的目标,然后有告警出现,也会发送同样的告警给 Alertmanager,然后使用 Alertmanager 自身的去重告警功能,只发出一条告警出来。从而实现了 prometheus 高可用的一个架构。 基于此架构,我们还可以使用 keepalived 做双机热备,…

  • Linux 这些工具堪称神器!你用过哪个?

    ag:比grep、ack更快的递归搜索文件内容。 tig:字符模式下交互查看git项目,可以替代git命令。 mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。 jq: json文件处理以及格式化显示,支持高亮,可以替换python -m json.tool。 shellcheck:shell脚本静态检查工具,能够识别语法错误以及不规范的写法。 fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端ctrl-r历史命令搜索…

    Linux云计算 2021年9月13日
  • 字节开源以Go为核心的项目,为何大厂都如此偏爱Go?

    9月8日,字节跳动正式宣布开源CloudWeGo,这是一套以Go 语言为核心中间件集合。字节相关技术负责人表示希望CloudWeGo能丰富云原生社区的Golang工具体系。 可以看出,字节内部已有诸多用Go语言开发的成熟项目,基本上也已经全员转Go了。其实不只是字节,阿里、腾讯、百度、B站等也都开始尝试用Go来开发项目了,如果你想进大厂,那么Go语言毫无疑问是最佳通行证。 为什么现在BAT大厂纷纷转Go? Go有十分明显的优势 许多大厂内部需要构建大型项目,而Go的高并发、高性能、高效率等优势,…

    go开发, 免费公开课 2021年9月11日
  • 教师节重磅献礼!马哥教育向全体燃灯者致敬!

    昨天有个关于”学习”的话题瞬间冲上了热搜榜:中国人为了学习能有多努力。 热爱学习,艰苦奋斗一直是中华民族的优良传统,即使家境贫寒,即使名落孙山,我们始终在学习的路上,不曾停止过。 当我们还是孩童时,我们就意识到学习的重要性。我们早起晚归,就算是周末也不曾放弃学习的机会,甚至在上下学路上,我们仍在学习。 当我们偶尔放松,玩起游戏时,我们也要寻找一起学习的同伴,尽管大家来自天南地北,互不相识,只要你也热爱学习,我们就是”一家人”。   当我们…

    马哥头条, 马哥教育快报 2021年9月10日
  • Python 处理 JSON 我选择 ujson 和 orjson

    在 Python 使用用  json.dumps(data) 时突然发现特别慢,data 本身不大,但是一个包含很多元素的列表,所以促使本人寻找一个替代的 JSON 处理库。大概对比了一个 ujson(UtltraJSON), python-rapidjson(RapidJSON) 和 Python 自带的 json 库。还有一个 simplejson 是为兼容 Python 2.6 以前用的(json 是 Python 2.6 新加入的 API),性能有些差。 基本上姜还是老的辣,想要收获更好…

    Python开发 2021年9月9日
  • Go 项目中常见的 10 种错误

    本文总结了10种 go 语言编成中可能导致性能下降的坏实践。有代码洁癖的同学来自我检查吧! 这篇文章主要讲述了我在 Go 项目中见到过的常见错误清单,顺序无关。 未知的Enum值 来看个简单的例子 在上面的代码中,使用iota创建了一个enum类型,分别代指下面的状态信息: 现在,我们假设Status 是一个 JSON 请求中被Marshalled / Unmarshalled的一个属性,我们可以设计出下面的数据结构: 然后,假设收到的Request 的接口返回值为: 到目前为止,没有什么特殊的…

    go开发 2021年9月9日
  • 面试官:二维码扫码登录是个啥原理

    在日常生活中,二维码出现在很多场景,比如超市支付、系统登录、应用下载等等。了解二维码的原理,可以为技术人员在技术选型时提供新的思路。对于非技术人员呢,除了解惑,还可以引导他更好地辨别生活中遇到的各种二维码,防止上当受骗。 二维码,大家再熟悉不过了 购物扫个码,吃饭扫个码,坐公交也扫个码 在扫码的过程中,大家可能会有疑问:这二维码安全吗?会不会泄漏我的个人信息?更深度的用户还会考虑:我的系统是不是也可以搞一个二维码来推广呢? 这时候就需要了解一下二维码背后的技术和逻辑了! 二维码最常用的场景之一就…

    行业资讯, 马哥教育快报 2021年9月8日
  • 微博崩,B站崩,B站崩完豆瓣崩……

    9月5日,“豆瓣崩了”登上热搜,引起广泛讨论。 而在7月13日,热搜上也是一片“崩坏”。起因是因为B站崩了,看不了视频的用户又冲向了其他网站,之后A站、豆瓣、晋江文学都出现了不同程度的访问故障。B站7000多万日活网友的威力可见一斑。 这次事件,也为我们敲响了警钟。 事故的发生是量积累的结果,任何事情都没有表面看起来那么简单,在软件运行的过程中,随着用户量的增加,不考虑高可用,迟早有一天会发生故障! 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常…

  • Dockerfile文件全面详解

    Docker 可以通过读取 Dockerfile 中的指令自动构建镜像。Dockerfile 是一个文本文档,其中包含了用户创建镜像的所有命令和说明。 一、 变量 变量用 $variable_name 或者 ${variable_name} 表示。 ${variable:-word} 表示如果 variable 设置,则结果将是该值。如果 variable 未设置,word 则将是结果。 ${variable:+word} 表示如果 variable 设置则为 word 结果,否则为空字符串。 …

    云原生及微服务 2021年9月7日
  • Golang 如何表示枚举类型

    go 语言枚举类型是这么用的?在什么场景下会用到枚举?本文对 go 语言枚举做了详细讲解。 枚举,是一种重要的数据类型,由一组键值对组成,通常用来在编程语言中充当常量的标识符。在主流行编程语言如 c、 java 等,都有原生支持。在 go 中,大家却找不到 enum 或者其它直接用来声明枚举类型的关键字。从熟悉其它编程语言的开发者转用 go 编程,刚开始会比较难接受这种情况。其实,如果你看到如何在 go 中表示枚举类型时,可能会感受到 go 语言设计者对简洁性、问题考虑的深度,是一般资浅工程师无…

    go开发 2021年9月7日
历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、容器云、Go、Python开发专业人才培训机构!