Kafka 副本备份机制

leader 维护了 ISR(能完全赶得上 leader 的副本集), 每个 Partition 当前的 leader 和 ISR 信息会记录在 ZooKeeper 中。leader 会跟踪与其保持同步的 Replica 列表,该列表称为 ISR。如果一个 follower 宕机,或者落后太多,leader 将把它从 ISR 中移除。只有 leader 才能知道哪些 Replica 能够及时完全赶得上。所有 follower 都会和 leader 通信获取最新的消息。但是 follower 之间并不互相知道彼此的信息。所以由 leader 来管理 ISR Read more ...

2018-06-04 kafka , message , broker , replication

FileRun 又一款文件同步工具

这两天浏览开源项目 的时候又 1 发现了一款文件同步工具 FileRun,打开官网 一看发现设计非常简洁,功能也同样强大。 最吸引我的是和 Google Docs ,Office Web View ,Pixlr 等等的支持,这样就可以在线预览 docx 等等文件。虽然是闭源产品,但是如果类似官网显示的那样,也是非常不错的文件同步管理的选择。 FileRun 是用 PHP 开发,从部署的文档可以看出来,部署的过程也可以使用 Docker,所以可以非常方便的部署到 Docker 环境中。如果自己配置环境,和 NextCloud 一样有 PHP 的运行环境 Read more ...


Kafka 资料收集整理

学 Kafka 的时候找到了一些非常友好的资料,这里整理下。 教程 不得不说的官方教程,另外我正在翻译官方教程 https://kafka.apache.org/intro cloudurable 这个网站提供了非常详细的 Kafka 教程,从入门 Kafka 是什么,到写 Java 代码,到 Kafka 项目各个部分架构 都有着非常详细的介绍。 http://cloudurable.com/kafka-training/index.html 第三个要推荐的就是一本 Gitbook ,尤其是第二章使用 Unix 管道类比来解释 Read more ...

2018-05-31 kafka , message

静态博客评论系统选择对比

今天浏览网页的时候发现了一个新的评论系统 —- livere,打开官网发现支持登录方式挺多,界面也挺友好。然后想起来之前多说关闭等等事情,觉得有必要整理整理,所以有了这样一篇文章。 来必力 第一个想要吐槽的就是这个中文名,其实看官网大致就能够猜到这是一家韩国的公司,不过就其官网来说,非常的本地化,包括官网,文档都中文化做的非常到位,只是这个中文名我是无论如何都无法接受呢。 https://livere.com Disqus 一直是我使用的评论系统,自从有了博客起基本就是用的 Disqus,从来没有遇到任何问题,有人说被墙了,这可能算不上个问 Read more ...

2018-05-30 blog , comment , disqus

Kafka 基础知识笔记

Kakfa 起初是由 LinkedIn 公司开发的一个分布式的消息系统,后成为 Apache 的一部分,它使用 Scala 编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如 Cloudera、Apache Storm、Spark 等都支持与 Kafka 集成。 体系架构 生产者使用 push 向 broker 发送消息,消费者使用 pull 模式拉取并消费消息 producer 可能是服务器日志,业务数据 broker 消息中间件节点,支持水平扩展,一般 broker 数量越多,集群吞吐率越高 consume Read more ...

2018-05-29 Kafka , linkedin , message , broker

SSH 端口转发

SSH 全称 Secure Shell,是一种加密的网络传输协议,可以在不安全的网络中为网络服务提供安全的传输环境。 几个 ssh 命令的参数 C 压缩数据传输 -f 后台登录用户名密码,如果省去该参数 ssh 会一直等待 -g 允许打开的端口让远程主机访问 -N 不执行shell -T 表示不为该连接分配TTY -p 后接端口 本地端口转发 本地端口转发,就是将发送到本地端口的请求,转发到目标主机端口。 ssh -L 本地网络地址:本地端口:目标主机地址:目标端口 root@<主机地址> ssh -L l Read more ...

2018-05-28 ssh , port , forward , linux

每天学习一个命令:netcat 查看网络信息

nc 是 netcat 的简称,nc 工具是一个 TCP/IP 的瑞士军刀类型的工具,netcat 可以使用 TCP 或者 UDP 协议来进行网络连接的读写诊断,nc 命令可以用于 TCP,UDP,Unix 套接字相关的任何事情,是一个非常强大的网络工具。 端口是 Linux 机器上的应用、服务、进程与网络进行通信的端点。常用的 netstat 或者 nmap 等也能够列出本地机器上的开放端口。但是 nc 可以用来确定远程主机端口是否开放。 安装 sudo apt install netcat 使用实例 监听本地端口 nc -l -p 80 Read more ...

2018-05-28 netcat , nc , linux , tcp , udp , command , netcat , port-scan , security

如何为视频配上合适的背景音乐

电影电视剧配乐一直都是一门学问,我一直很好奇韩剧或者韩综的配乐,如何能做到用音乐去推进故事,用音乐是暗示结局。但其实本文就是罗列了几个收集音乐的好地方,本不求达到那么专业的水平,只求在日常vlog或者短片中找到合适的BGM。 SoundCloud SoundCloud 是一个在线音乐分享平台,上面有无数的音乐人作品,但是使用的时候请一定遵照版权。 https://soundcloud.com/ 几个账号 https://soundcloud.com/freemusicforvlogs icons8 这是 icons8 推出的免费 Read more ...

2018-05-28 music , youtube , soundcloud , sound , bgm , video

搬家整理之术收纳之术

最近要搬家,最初的需求就是快速打包搬走,想要找一些比较好用的搬家神器,搬家神器倒是没找到,不过找到了一些日常收纳整理之术。平时如果注重收纳整理,知道断舍离,其实搬家也远没有那么的痛苦。 可能提到搬家很多人会想到小推车,收纳箱等等用于收纳的物品,当然这些都是日常生活中必不可少的。即使不搬家,在家中使用收纳箱收拾平时不穿的鞋子,衣服等不仅能够防潮,也方便了快速分类整理。下面也不多废话,就直接把我整理过程中觉得比较有用的记录下来。 收纳 想要打包的时候加快速度,那就一定成都上依赖于平时的收纳,我自己平时本没有那么注意收纳,因此在打包时格外的零碎,各种文件, Read more ...

2018-05-26 thought , sort-out , moving , clean-up

RabbitMQ 基本使用

RabbitMQ 是一个使用 Erlang 编写的消息队列的实现,能够接收并转发消息。 RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is bu Read more ...

2018-05-25 rabbitmq , message , broker , queue

最近文章

  • Surfingkeys:比 Vimium 更强大的浏览器键盘控制扩展 最早接触 [[Vimium]] 是在学习 Vim 编辑器之后,那种能用键盘完全控制浏览器的感觉确实让人着迷。不用频繁移手到鼠标,链接跳转、页面滚动、标签切换全用键盘搞定,效率提升的体验是实实在在的。用了几年 Vimium 之后,我开始接触到 [[Surfingkeys]],起初以为不过是另一个同类扩展,但深入用下来才发现这两者的差距远比我想象的大。
  • Denote 介绍 Emacs 下基于文件名的笔记系统 最近在 GitHub 上闲逛的时候,我发现了 [[李继刚]] 整理的一批 [[Claude Skills]],出于好奇就 clone 下来翻了翻仓库。打开目录一眼扫过去,几乎所有 Skill 输出的文档文件名都长得很特别,大致是这样的形式: 20260527162000==z--投资分析-ajinomoto-2802。这种带着长串数字时间戳、夹杂 == 和 – 分隔符的写法,一眼看上去既不像我熟悉的 [[Jekyll]] 那种 YYYY-MM-DD-title.md,也不像 [[Obsidian]] 里常见的中文标题直接做文件名,反而有种”工程化”过头的味道。
  • Ghostty 和 xterm-ghostty 是什么 最近我在 macOS 上重新整理终端工具链的时候,又一次认真看了 [[Ghostty]]。很多人第一次接触 Ghostty,会先被它的界面、速度或者作者背景吸引,但只要打开 Shell 跑一个 echo $TERM,很快就会看到一个更陌生的名字:xterm-ghostty。这个名字看起来像是传统 xterm 的变种,实际上它背后代表的是 Ghostty 对终端兼容性的一整套设计思路。很多人把它当成一个无关紧要的环境变量,但如果你经常使用 [[SSH]]、[[tmux]]、[[Vim]]、[[Neovim]]、[[less]] 或者各种 TUI 工具,理解 xterm-ghostty 会让你少踩很多坑。
  • 终端开发的新范式:从 Gemini CLI 到 Antigravity CLI 终端智能体的新旅程
  • Antigravity CLI:Google 推出的下一代终端 AI 编程智能体 最近在关注 Google I/O 2026 的动态时,看到了一个让我颇感兴趣的发布——[[Antigravity CLI]],Google 官方宣布用它来取代已经积累了超过 10 万 GitHub Stars 的 [[Gemini CLI]]。这个时机有点微妙:个人版 Gemini CLI 用户必须在 2026 年 6 月 18 日前完成迁移,否则将失去模型访问权限。作为一个长期在终端里工作、也在持续关注 AI 编程工具演进的开发者,我觉得有必要认真研究一下这个新工具到底带来了什么改变。