2.5k 2 分钟

# 报错内容 1Warning FailedCreatePodSandBox 5m17s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "1ded5da71b38996763e74f28f609d8d8f26a4cc1e4fdd3272312bf3e168e4111": plugin type="bridge" failed (add):...
7.3k 7 分钟

使用 kubeadm 1.24.3 搭建 k8s 集群 # 环境准备 Centos8 三台. 123k8s-master-01 192.168.0.10k8s-node-01 192.168.0.20k8s-node-02 192.168.0.21 注意,这三台机器不要做任何配置,尤其不要安装 docker , 因为从 k8s 1.20.x 开始, kubernetes 弃用了 dockershim , 在 1.20.4 正式移除了 dockershim . Docker support in the kubelet is now deprecated and will be removed...
7.2k 7 分钟

在 RocketMQ 架构设计之消息 这篇文章中,我们学习了 消息发送到消费 的整体流程。这篇文章,我们一起来看看 MappedFile 的实现细节. # 引言 我们都知道的是 RocketMQ消 息都是持久化到磁盘上的,消息的读取和写入也都是会从磁盘上进行 IO 的。可是磁盘的性能不禁另 CPU 啧啧撇嘴。 RocketMQ 是如何实现消息的高性能 IO 的呢? 答案就是 MappedFile 这个 643 行的 java 文件中。 # RokcetMQ 的 MappedFile 我们知道的是 MappedFile 是 RocketMQ 真实消息文件在内存中的映射。主要是通过 java...
3.3k 3 分钟

所有接口均为网上搜集,禁止🈲售卖,别拿别人的成果免费去赚取自己的利益。 # 2022-06-06 https://raw.iqiq.io/ilvjyw/OpenGG/master/dog.json https://pglblb.coding.net/p/a/d/c/git/raw/master/51 https://hk1.monika.love/tvba/t/main/m https://raw.fastgit.org/xlc520/MaoTV/main/mao/220508.json (来源...
5.5k 5 分钟

常用的绝大多数消息队列,如 RocketMQ 、 RabbitMQ 等在消息传输上都只能保证至少传输成功一次 ( At least once ), 但是不能保证只传输成功一次 ( Exactly once ), 重复发送. # 生产者保证消息可靠性 # 消息发送方式 在之前的文章架构设计之消息 中,我们知道了 生产者生产消息有三种方式: 同步发送。 发送线程同步等待,通过同步检查 Brocker 返回的状态来判断消息是否持久化成功。从而保证消息的可靠性. 异步发送。 发送线程异步等待,可以通过传入的回调函数来判断消息持久化状态。根据状态来判断是否需要重试消息,从而保证消息的可靠性. one...
3.5k 3 分钟

# 单例模式解决什么问题 处理资源访问冲突 表示全局唯一。在整个程序中,某些数据应该存储一份,这样的类,就应该设计成单例类。比如,SpringBoot 应用的配置项。再比如 雪花算法的实现类。 # 实现单例 如何实现单例呢,或者说怎样能称得上单例呢? 首先,单例要求全局唯一,那就是说 不允许外部随随便便 new 一个新对象. 这句话里,至少有两个点: 1. 不允许外部 new 对象。 2. 需要类内部 new 对象,并提供给外部进行使用。 其实很简单的,单例类的构造方法需要是 private 权限的,提供一个 public...
9k 8 分钟

# goroutine 定义 “ Goroutine 是一个与其他 goroutines 并行运行在同一地址空间的 Go 函数或方法。一个运行的程序由一个或更多个 goroutine 组成。它与线程、协程、进程等不同。它是一个 goroutine ” —— Rob Pike Goroutines 在同一个用户地址空间里并行独立执行 functions , channels 则用于 goroutines 间的通信和同步访问控制。 # goroutine VS thread 内存占用. 创建一个 goroutine 的栈内存消耗为 2 KB ( Linux AMD64 Go v1.4...
2.9k 3 分钟

https://github.com/golang/glog ,是 google 提供的一个不维护的日志库, glog 有其他语言的一些版本,对我当时使用 log 库有很大的影响。它包含如下日志级别: Info , Warning , Error , Fatal (会中断程序执行) 还有类似 log4go , loggo , zap 等其他第三方日志库,他们还提供了设置日志级别的可见行,一般提供日志级别: Trace , Debug , Info , Warning , Error , Critical . # 日志级别 #...
2.4k 2 分钟

异常处理 方法解释: New : 创建一个 Error Is : 判断是不是特定的一个 Error As :类型转换为特定的 Error UnWrap : 解除包装,返回被包装的 error . error.New(string) 方法返回的是 error struct 的指针。 errors is values . error 其实就是一个 interface (struct) # error 的类型 # Sentinel Error Sentinel Error 预定义的特定错误。我们称为 Sentinel Error ....
5.1k 5 分钟

本文是学习 极客时间 - 李运华 - 从 0 开始学架构 的笔记。侵删~ 🔥购买后加微信,返现赏金 (全额) 架构设计的关键思维在于判断和取舍。程序设计的关键思维在于逻辑和实现. # 定义架构. 软件架构 指软件系统的顶层结构 系统是一群关联个体组成的。这些个体可以是子系统,模块,组件等。架构需要明确系统中包含哪些个体。 系统中的个体需要” 根据魔种规则 “运作,架构需要明确个体运作和协作的规则。 维基百科定义的架构用到了 “基础结构” 这个说法,我改为...