2024-03-18 kafka kafka 基本原理 概述Kafka是一个分布式数据流平台,可以运行在单台服务器上,也可以在多台服务器上部署形成集群。它提供了发布和订阅功能,使用者可以发送数据到Kafka中,也可以从Kafka中读取数据(以便进行后续的处理)。Kafka具有高吞吐、低延迟、高容错、可水平扩展、支持流数据处理等特点。 Kafka架构... 阅读全文…
2024-03-04 flink Flink 基础概念 概述Apache Flink 诞生于柏林工业大学的一个研究性项目,原名 StratoSphere 。2014 年,由 StratoSphere 项目孵化出 Flink,并于同年捐赠 Apache,之后成为 Apache 的顶级项目。 Flink 是一个分布式的流处理框架,它能够对有界和无界的数... 阅读全文…
2024-02-20 elasticsearch elasticsearch lucene存储引擎相关知识 概述Elasticsearch是一个基于Apache Lucene的开源搜索引擎,其依靠Lucene完成索引创建和搜索功能,可以将ElstaicSearch理解为是一个Lucene的分布式封装的搜索引擎。 前置知识倒排索引搜索的核心需求是全文检索,全文检索简单来说就是要在大量文档中找到包含某个... 阅读全文…
2023-02-25 golang golang代码测试方法论 概述在项目开发中,正对项目的测试分为多个分类,比如单元测试、集成测试、端到端测试等,按照Mike Cohn提出的“测试金字塔”概念,测试分为4个层次: 最下面的是单元测试,单元测试针对的是代码进行测试,针对的是局部代码功能;再而之... 阅读全文…
2023-02-25 golang etcd使用手记 概述etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。 类似项目有zookeeper和consul。 etcd具有以下特点: 完全复制:集群中的每个节点都可以使用完整的存档 高可用性:Etcd可用于避免硬件的单点故障或网络问... 阅读全文…
2023-02-04 golang 新浪图床图片替换为腾讯COS 概述近期,有同学反馈,所有调用的微博图床图片都无法加载并提示“403 Forbidden”了。百度上说新浪开启了防盗链,查遍了网上一堆复制/粘贴出来的文章,不是开启反向代理就是更改请求头,但是这些方案都不行。最终方案只能自己自建图床(其实自建图床的成本并不高,只是自己懒得搞,注册了个七牛云的对... 阅读全文…
2022-08-13 linux RFC QUIC草案文档阅读整理 概述quic草案的阅读总是晦涩难懂的,如果没有多读几遍,压根就不懂这说的是啥意思,阅读草案之前建议读者先了解相关知识,带着相关知识去阅读更易理解。 QUIC之基础概念connection连接用途在客户端和服务器之间建立连接。和tcp不同的是(tcp是通过连接四元组[client ip、clie... 阅读全文…
2021-12-19 linux linux lvs原理及实践 前言负载均衡(Load Balance)的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上,让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费。负载均衡的原理就是当用户的请求到达前端负载均衡器(Director Server)时,通过设置好的调度... 阅读全文…
2021-12-17 Hello World Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer ... 阅读全文…
2021-11-22 golang golang中锁的实现原理 概述Go 语言作为一个原生支持用户态进程(Goroutine)的语言,当提到并发编程、多线程编程时,往往都离不开锁这一概念。锁是一种并发编程中的同步原语(Synchronization Primitives),它能保证多个 Goroutine 在访问同一片内存时不会出现竞争条件(Race co... 阅读全文…