摘要: Linux零拷贝原理 前言 磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些优化的目的就是为了提高系统的吞吐量。 DMA技术 在没有DMA技术之前,IO过程是这样的: 可以看到,整个数据的传输过程 阅读全文
posted @ 2022-09-11 15:12 尹瑞星 阅读(1277) 评论(1) 推荐(1) 编辑
摘要: 软件工程中的各种图 70%项目的失败不是由于技术原因导致的,而是由管理不善导致的。 UML(Unified Modeling Language,统一建模语言)是一种基于面向对象的可视化语言。 它采用一组形象化的图形(如类图)符号作为建模的语言。使用这些符号可以形象的描述系统的各个方面。UML是通过建 阅读全文
posted @ 2022-09-11 14:54 尹瑞星 阅读(1526) 评论(0) 推荐(0) 编辑
摘要: 计算机网络之路由详解 基本概念 IP地址可以识别主机和路由器,而路由器有多个端口,分别连接不同的网络区域。通过识别目的IP地址的网络号,再根据路由表进行数据转发。 主机和路由器都会维护一张路由表,里面存放着目的地址段和下一跳的地址。 除了路由器,三层交换机、防火墙、负载均衡设备甚至主机等设备都可以进 阅读全文
posted @ 2022-09-10 14:59 尹瑞星 阅读(1082) 评论(0) 推荐(1) 编辑
摘要: VPC网络 overlay vs underlay 基于某个通信网络之上构建出的另一个逻辑通信网络即为overlay或underlay网络。 下图为overlay网络功能示意图 隧道转发的本质是将容器双方的通信报文分别封装成各自宿主机之间的报文,借助宿主机的网络“隧道”完成数据交换。这种虚拟网络的基 阅读全文
posted @ 2022-08-15 14:50 尹瑞星 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 数据竞争和竞态条件 Go并发中有两个重要的概念:数据竞争(data race)和竞争条件(race condition)。在并发程序中,竞争问题可能是程序面临的最难也是最不容易发现的错误之一。 当有两个或多个协程同时访问同一个内存地址,并且至少有一个是写时,就会发生数据竞争,它造成的影响就是读取变量 阅读全文
posted @ 2022-07-16 21:57 尹瑞星 阅读(1136) 评论(0) 推荐(0) 编辑
摘要: CRI容器运行时 我们知道 Kubernetes 提供了一个 CRI 的容器运行时接口,那么这个 CRI 到底是什么呢?这个其实也和 Docker 的发展密切相关的。 在 Kubernetes 早期的时候,当时 Docker 实在是太火了,Kubernetes 当然会先选择支持 Docker,而且是 阅读全文
posted @ 2022-03-26 16:32 尹瑞星 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 背景 分布式共识算法主要目的是为了保证同一份数据在多个节点上的一致性,以满足CP要求。 共识(Consensus)与一致性(Consistency)的区别:一致性是指数据不同副本之间的差异,而共识是指达成一致性的方法与过程。由于翻译的关系,很多中文资料把 Consensus 同样翻译为一致性,导致网 阅读全文
posted @ 2022-03-22 22:50 尹瑞星 阅读(1801) 评论(0) 推荐(3) 编辑
摘要: 分布式链路追踪技术 概述 在微服务架构的系统中,请求在各服务之间流转,调用链错综复杂,一旦出现了问题和异常,很难追查定位,这个时候就需要链路追踪来帮忙了。链路追踪系统能追踪并记录请求在系统中的调用顺序,调用时间等一系列关键信息,从而帮助我们定位异常服务和发现性能瓶颈。 微服务的监控主要包含一下三个方 阅读全文
posted @ 2022-03-15 21:06 尹瑞星 阅读(1902) 评论(0) 推荐(0) 编辑
摘要: Envoy配置使用 Envoy代理有两个常见用途。一是用作服务代理(sidecar),二是用作网关。 用作sidecar时,Envoy是一个位于服务旁边的四层或七层的应用代理,可以生成指标、应用策略和控制流量。 用作API网关时,Envoy作为一个“前置代理”接受inbound流量,核对请求中的信息 阅读全文
posted @ 2022-03-08 09:48 尹瑞星 阅读(2794) 评论(0) 推荐(0) 编辑
摘要: 服务网格现状 服务网格为服务提供了复杂的应用层网络管理,如服务发现、流量路由、弹性(超时/重试/断路)、认证/授权、可观察性(日志/度量/追踪)等。 在分布式应用的早期,这些要求是通过直接将所需的逻辑嵌入到应用中来解决的,比如spring cloud等微服务框架。服务网格将这些功能从应用程序中提取出 阅读全文
posted @ 2022-03-02 12:51 尹瑞星 阅读(862) 评论(1) 推荐(1) 编辑