featured story Elasticsearch 集群规划最佳实践 从系统配置,资源预估,索引设计,读写优化等方面介绍 Elasticsearch 最佳实践。 21 Mar 2022 · 17 min read Read post
Kafka 如何往 Kafka 发送大消息? 默认情况下,Kafka topic 中每条消息的默认限制为 1MB。这是因为在 Kafka 中,非常大的消息被认为是低效和反模式的。然而,有时候你可能需要往 Kafka 中发送大消息。在本文中我们将研究在 Kafka 中处理大消息的两种方法。 选项 1:使用外部存储将大消息(例如视频文件)发送到外部存储,在 Kafka 中只保存这些文件的引用,例如文件的 URL。外部存储可以是云存储(例如 Amazon S3) chengzw 17 Jun 2022 · 5 min read
数据结构与算法 实现 LRU 缓存算法 1 LRU 缓存介绍LRU 算法全称是最近最少使用算法(Least Recently Use),是一种简单的缓存策略。顾名思义,LRU 算法会选出最近最少使用的数据进行淘汰。 那么什么是缓存呢?缓存专业点可以叫一种提高数据读取性能的技术,可以有效解决存储器性能和容量的矛盾,是一种空间换时间的设计思想,比如我们常见的内存是硬盘的缓存,Cache 是内存的缓存,浏览器本地存储是网络访问的缓存...... LRU 有许多应用场景,例如: 操作系统底层的内存管理。缓存服务,例如 Redis,当数据满的时候就要淘汰掉长期不使用的 key,在 Redis chengzw 18 May 2022 · 12 min read
云原生 Kubernetes 中数据包的生命周期 -- 第 4 部分 本文翻译自:Life of a Packet in Kubernetes — Part 4 [1] 作者:Dinesh Kumar Ramasamy 本文在原文的基础上做了适当的修改,如有疑问请查阅原文。本文是 Kubernetes 中数据包的生命周期系列文章的第 4 部分,我们将会介绍 Kubernetes 中的 Ingress 资源对象和 Ingress Controller。Ingress Controller chengzw 15 May 2022 · 9 min read
云原生 Cilium 多集群 ClusterMesh 介绍 Cluster Mesh 是 Cilium 的多集群实现,可以帮助 Cilium 实现跨数据中心、跨 VPC 的多 Kubernetes 集群管理,ClusterMesh 主要有以下功能: 1.通过隧道或直接路由的方式,在多个 Kubernetes 集群间进行 Pod IP 路由,而无需任何网关或代理。2.使用标准 Kubernetes 服务发现机制。3.跨多个集群的网络策略。 chengzw 11 May 2022 · 14 min read
云原生 Kubernetes 中数据包的生命周期 -- 第 3 部分 本文翻译自:Life of a Packet in Kubernetes — Part 3 [1] 作者:Dinesh Kumar Ramasamy 本文在原文的基础上做了适当的修改,如有疑问请查阅原文。本文是 Kubernetes 中数据包的生命周期系列文章的第 3 部分。我们将讨论 Kubernetes 的 kube-proxy 组件如何使用 iptables 来控制流量。 了解 kube-proxy chengzw 6 May 2022 · 25 min read
搜索引擎 ECA 认证备考指南 ECA 简介ECA(Elastic Certified Analyst,Elastic 认证分析师)是 Elastic 针对 Kibana 进行数据可视化和分析而设计的一门考试。 考试费用 300 美金,考试时长 2 小时,2022 年 4 月 28 号之后升级为 7.15 版本,我这次考的是 7.6 chengzw 28 Apr 2022 · 5 min read
云原生 Kubernetes 中数据包的生命周期 -- 第 2 部分 本文翻译自:Life of a Packet in Kubernetes — Part 2 [1] 作者:Dinesh Kumar Ramasamy 本文在原文的基础上做了适当的修改,如有疑问请查阅原文。正如我们在第 1 部分中所讨论的,CNI 插件在 Kubernetes 网络中起着至关重要的作用。当前有许多第三方 CNI 插件可供使用,Calico 便是其中之一。凭借着良好的易用性以及对多种网络架构的支持,Calico chengzw 24 Apr 2022 · 22 min read
云原生 Kubernetes 中数据包的生命周期 -- 第 1 部分 本文翻译自:Life of a Packet in Kubernetes — Part 1 [1] 作者:Dinesh Kumar Ramasamy 本文在原文的基础上做了适当的修改,如有疑问请查阅原文。Kubernetes 集群中的网络可能会令人感到有点困惑,即使是对于拥有虚拟网络和路由实践经验的工程师来说也是如此。本系列文章将分为 4 个部分,帮助你理解基本的 Kubernetes 网络,本文属于第一部分。 Part 1 - 1. chengzw 21 Apr 2022 · 21 min read
云原生 在 Kubernetes 中使用 Keycloak OIDC Provider 对用户进行身份验证 本文通过详细的步骤为大家展示了如何让 API Server 使用 OpenID Connect 协议集成 Keycloak 进行身份认证,同时介绍了如何使用 kubectl 和 kubelogin 进行用户登录认证。 chengzw 6 Apr 2022 · 17 min read
云原生 使用 ezctl 工具部署和管理 Kubernetes 集群 1 ezctl 命令行介绍 kubeasz 项目致力于快速部署高可用的 Kubernetes 集群,同时也提供了关于 Kubernetes 详细的学习资料,在这里强烈推荐给初学者。kubeasz 项目地址:https://github.com/easzlab/kubeasz 。 kubeasz 项目使用 ezctl 方便地创建和管理多个 Kubernetes 集群,ezctl 使用 shell 脚本封装 ansible-playbook 执行命令, chengzw 24 Mar 2022 · 10 min read
云原生 Kubernetes 中的对象是如何删除的:Finalizers 字段介绍 前言 Kubernetes 中的对象删除并不像表面上看起来那么简单,删除对象涉及一系列过程,例如对象的级联和非级联删除,在删除之前检查以确定是否可以安全删除对象等等。这些都是通过称为 Finalizers(终结器)的 API 对象实现的。 Finalizers 终结器 Finalizers 是由字符串组成的数组,当 Finalizers 字段中存在元素时,相关资源不允许被删除,Finalizers 是 Kubernetes 资源删除流程中的一种拦截机制,能够让控制器实现异步的删除前(Pre-delete)回调,在对象删除之前执行相应的逻辑。 Finalizers 可以防止意外删除集群所依赖的、 chengzw 22 Mar 2022 · 14 min read
大数据 Pulsar 介绍与部署 Apache Pulsar 是灵活的发布-订阅消息系统(Flexible Pub/Sub messaging),采用计算与存储分离的架构。雅虎在 2013 年开始开发 Pulsar ,于 2016 年首次开源,目前是 Apache 软件基金会的顶级项目。Pulsar 具有支持多租户、持久化存储、多机房跨区域数据复制、高吞吐、低延迟等特性。 Pulsar 组件 Pulsar 集群主要由以下三部分组成: Broker:Pulsar chengzw 21 Mar 2022 · 21 min read