归档
善良比聪明更重要
09
26
RPC 系列(四):Go gRPC 服务端流式 RPC RPC 系列(四):Go gRPC 服务端流式 RPC
上一篇介绍了简单模式 RPC,当数据量大或者需要不断传输数据的时候,我们应该使用流式 RPC,它允许我们边处理边传输数据。本篇先介绍服务端流式 RPC。 服务端流式 RPC:客户端发送请求到服务器,拿到一个流去读取返回的消息序列,客户端读取
2023-09-26
19
RPC 系列(三):Go gRPC 简单 RPC RPC 系列(三):Go gRPC 简单 RPC
gRPC 主要有 4 种请求/响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side streaming RPC)、客户端流式(Client-side streaming RPC)和双向流式(Bidirecti
2023-09-19
12
RPC 系列(二):Go gRPC 环境安装 RPC 系列(二):Go gRPC 环境安装
在开始编写 gRPC 应用之前,需要先安装 protoc 编译器以及 Go 语言相关的依赖包。本篇介绍环境搭建的完整过程。 安装 protoc根据自身电脑的操作系统,选择 protoc 最新的 releases 版本下载。 解压后在 bi
2023-09-12
05
RPC 系列(一):RPC 与 gRPC 全景 RPC 系列(一):RPC 与 gRPC 全景
在分布式系统开发中,进程之间经常需要通过网络进行远程通信,RPC 就是让这一过程像调用本地函数一样简单的技术。本文先梳理 RPC 的基本原理,再对 gRPC 框架做整体介绍,最后演示如何编译 gRPC 源码,并用 C++ 跑通一个简单的登录
2023-09-05
04
08
29
Docker 系列(五十五):Kubernetes 架构设计 Docker 系列(五十五):Kubernetes 架构设计
任何优秀的项目都离不开优秀的架构设计。本文将介绍 Kubernetes 在架构方面的设计考虑。 如果让我们自己从头设计一套容器管理平台,很容易想到需要考虑资源调度、服务发现、故障恢复、水平伸缩等诸多方面。下面这张图完整展示了 Kuberne
2023-08-29
22
Docker 系列(五十四):Kubernetes 基本概念 Docker 系列(五十四):Kubernetes 基本概念
Kubernetes 的概念体系可以概括为操作对象、功能组件与功能特性三个层面,如图所示。下面介绍其中最基础的两个概念:节点(Node)与容器组(Pod)。 节点(Node)在 Kubernetes 中,节点是实际工作的点,节点可以是虚拟
2023-08-22
15
Docker 系列(五十三):Kubernetes 简介 Docker 系列(五十三):Kubernetes 简介
从这一篇开始,我们来正式认识 Kubernetes,先从它的定位与来历说起。 Kubernetes 是 Google 团队发起的开源项目,它的目标是管理跨多个主机的容器,提供基本的部署、维护以及应用伸缩,主要实现语言为 Go 语言。作为一
2023-08-15
08
Docker 系列(五十二):Kubernetes 初识 Docker 系列(五十二):Kubernetes 初识
在前面的章节里,我们已经可以在单机上熟练地使用 Docker 构建和运行容器。然而当容器化应用走向生产环境、需要跨越多台主机部署时,容器如何调度、服务之间如何发现与通信、节点出现故障后如何自动恢复,单靠 Docker 本身就难以应对了,这就
2023-08-08
01
07
25
Docker 系列(五十):服务端命令 dockerd Docker 系列(五十):服务端命令 dockerd
dockerd 是 Docker 的服务端守护进程,负责镜像管理、容器的创建与运行,以及网络、存储等核心工作。一般情况下,dockerd 由系统的 systemd 服务(服务名通常为 docker)托管,无需手动启动;但在调试或定制配置时,
2023-07-25
18
Docker 系列(四十九):如何调试 Docker Docker 系列(四十九):如何调试 Docker
排查 Docker 相关问题时,一般可以从开启守护进程的调试日志入手,必要时还可以查看守护进程的运行时堆栈,或者在数据可以丢弃的情况下彻底重置本地数据。本篇介绍这几种常用的调试手段。 开启调试日志在 dockerd 配置文件 daemon.
2023-07-18
6 / 24