定时器方案:红黑树、时间轮、最小堆 定时器的应用: ⼼跳检测 技能冷却 武器冷却 倒计时 定时器概述 对于服务端来说,驱动服务端逻辑的事件主要有两个,⼀个是⽹络事件,另⼀个是时间事件; 在不同框架中,这两种事件有不同的实现⽅式; 第⼀种,⽹络事件和时间事件在⼀个线程当中配合使⽤;例如nginx、redis; 第⼆种,⽹…
2022 年 10 月
共 10 篇你好,我是一笑。 在企业中越早进行公共库的沉淀越有利,在企业开发中中间件的集成是每个团队都需要的比如 MySQL、Redis、Kafka 这些中间件,几乎每个团队都需要使用,我们在开发项目的时候也需要使用这些中间件来构建我们的应用。 在团队使用 Go 语言构建应用的时候,各个项目组可能会存在自己封装中间件的行为,虽然大…
在很多教程或者文章中在讲解安装 k8s 的时候都会要求升级 kernel,这是因为在较早期版本的时候 cgroup 有 Bug,下面我们来看一些案例。 问题内核版本链接 Docker cgroup无法分配内存问题处理办法4.3 以下(文章并未披露使用的内核版本)https://www.shanxihualu.com/t…
任务背景 某天接到短信报警提示,显示某主机的根分区空间使用率超过85%,该主机用于影评mysql和报表数据库oracle。经查看发现其中MySQL数据库的数据文件存放在/usr/local/mysql/中,占用根文件系统空间导致。由于前期规划不合理,没有将业务数据和系统数据分开。经研究决定,要将影评的数据库单独放到另一…
大家好,我是一笑。 这个系列的博文是我曾经在慕课网学习时候的笔记内容,一转眼已经工作多年了,前段时间迁移博客,顺便把自己以前写的博文都看了一遍,感觉这个系列的内容其实还是可以重新编辑的,也算是对以前工作的一个总结。 当时只是作为笔记,并没有太多的实际操作部分,打算在这一次重写的时候把这一部分给补上。 目录 0x00 起…
在本文中,并没有实现过程,算是一个提纲,当我们需要对MySQL进行优化的时候,可以通过本篇文章,了解一下,我们要对MySQL进行哪些优化,也算是对MySQL的优化先要有一个总体的认知。 因为如果要将所有的操作过程都放到这篇文章中,估计还没等看完,你就已经睡着了,具体的操作,我会在其他系列的博文中陆续的更新出来。 优化方…
在上一小节,我们使用 bat 脚本完成了服务的部署,那么在这一些小节我们将搭建 Nginx 来反向代理我们的 golang 应用,既然是私活级的项目,那肯定是越快上线越好,使用 Docker 我们可以快速上线各类应用。 使用 alpine 镜像启动 Golang 应用程序 上一节我们在构建Golang 的时候使用了 a…
我们在上一小节实现了应用的自动部署,但是其中有一个小问题,我们的部署依赖于线下打包,然后使用 scp 发给服务器,这个时候如果应用程序体积过大或者网络情况不好,那么就会非常耗时,你不能保证你时时刻刻都在一个非常良好的网络条件下。 这个时候我们就需要使用构建服务器了,但是使用 Jenkins 也需要新的服务器资源才可以,…
0.09x 是目前能够下载到的最古老的版本,在代码中有标注,这是一个预览版,所有代码加起来在 1W 多行,其中包括了文档,和一些辅助脚本,第三方案例,真正的 C 语言实现的代码仅有 5200 多行,这其中其实已经包含了很多 Redis 的核心逻辑,阅读起来的障碍也会小很多。 Reids 7 的C 代码行数已经超过了15…
前言 大家好,我是一笑,在这篇文章中将为大家介绍如何利用 Docker 部署私活级 Golang 程序,最终我们要通过最低的成本来实现 goalng 的自动打包,部署操作。 首先我们来定义一下什么是私活级,私活大家都懂,就是我们利用业余去赚一些外快,一般情况下后端基本上都是一个人独立完成的,有的时候甚至真的只有一个人,…