淦 Blog

我干了什么 究竟拿了时间换了什么

消息队列之Kafka

要点 Kafka 的每个 Consumer(消费者)实例属于一个 ConsumerGroup(消费组); 在消费时,ConsumerGroup 中的每个 Consumer 独占一个或多个 Partition(分区); 对于每个 ConsumerGroup,在任意时刻,每个 Partition 至多有 1 个 Consumer 在消费; 每个 ConsumerGroup 都有...

消息队列之RocketMQ

系统架构 基本概念和架构 由 Producer、NameServer、Broker、Consumer 四大模块组成。其中,NameServer 是 RocketMQ 的元数据存储组件。在 5.0 后,还增加了 Proxy 模块,用来支持 gRPC 协议,并为后续的计算存储分离架构做准备。 一个 Topic 可以包含一个或多个MessageQueue,一个 Group 可以订阅一个或多个...

消息队列基础

简介 使用场景 异步处理(可以更快地返回结果,减少等待,自然实现了步骤之间的并发,提升系统总体的性能) 流量控制(隔离网关和后端服务,以达到流量控制和保护后端服务的目的) 服务解耦 作为发布 / 订阅系统实现一个微服务级系统间的观察者模式 连接流计算任务和数据 用于将消息广播给大量接收者 问题和局限性 引入消息队列带来的延迟问题 增加了系统的复杂度 ...

Redis

数据结构 String类型 当保存64位有符号整数时,String类型会把它保存为一个8字节的Long类型整数,这种保存方式通常也叫作int编码方式。 当保存的数据中包含字符时,String类型就会用简单动态字符串(Simple Dynamic String,SDS)结构体来保存。 buf:字节数组,保存实际数据。为了表示字节数组的结束,Redis会自动在数组最...

数据库基础

三大范式 第一范式(1NF):每一列都是不可分割的原子数据项。 第二范式(2NF)在1NF的基础上,非属性码的属性必须完全依赖于主码。 第三范式(3NF):在2NF基础上,消除传递依赖。 事务 概述 事务指的是逻辑上的一组操作,组成这组操作的各个单元要么全都成功,要么全都失败。 四大特性ACID 原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事...

Istio之架构

架构 Istio在架构上分为控制面和数据面两部分,控制面只有一个单体应用Istiod。在Istio 1.6中,上游为了简化控制面的部署和运维,将原来分离的Istio组件Pilot、Citadel、Mixer、Galley、Sidercar-Injector等组件合并为单体应用(Istiod),并且为了提升性能,又将Mixer彻底移除。数据面主要由伴随每个应用程序部署的代理Envoy组成,En...

Istio之流量治理原理

概念和原理 Istio流量治理的目标:以基础设施的方式向用户提供各种非侵入的流量治理能力,用户只需关注自己的业务逻辑开发,无须关注通用的服务治理能力。 在控制面会经过如下流程: (1)管理员通过命令行或者API创建流量规则; (2)Istio的控制面Pilot将流量规则转换为Envoy的标准格式; (3)Pilot通过xDS将规则下发给服务网格数据面Envoy。 在数据面会经过...

Istio之Sidecar流量拦截原理

在完成Sidecar自动注入后,业务在Pod运行期间收发的网络流量将被透明地拦截进Sidecar。其流量拦截基于iptables规则,拦截应用容器的Inbound流量或Outbound流量。Inbound流量简单理解为从Pod外部网口流入进来的流量,比如在一个微服务请求中进入目标服务的请求流量;Outbound流量简单理解为从本Pod内应用向目标微服务发起请求,并最终从本Pod 网口向外部网...

Istio之Sidecar透明注入原理

Sidecar的注入原理 在kubernetes中,Sidecar容器与应用容器共存于同一个Pod中,在Istio中进行Sidecar注入有两种方式: 通过 istioctl命令行工具手动注入; 通过sidecar-injector自动注入。 这两种方式的最终目的都是在应用的Pod中注入init容器及istio-proxy容器,这两个容器都使用...

Kubernetes核心数据结构

Group、Version、Resource 核心数据结构 在整个Kubernctes体系架构中,资源是 Kubernetcs最重要的概念。Kubernetes系统虽然有相当复杂和众多功能,但它本质上是一个资源控制系统——注册、管理、调度资源并维护资源的状态。 Kubcrnctes将资源再次分组和版本化,形成 Group(资源组)、Version(资源版本)、Resource(资源)。 ...