Traefik v3.0 Docker 全面使用指南:基础篇 (soulteary.com)
本篇文章聊聊如何通过 Docker 容器使用 Traefik,进行稳定的 Traefik 服务的部署。
by @技术头条 2023-07-23 11:25 查看详情
为什么说并发编程很难? (colobu.com)
最近看到一本关于算法的新书,买过来学习。这本书中有一道并发问题,也是我先前多次分过的一道题:水分子的产生。

这是一道并发题,在《The Little Book of Semaphores》v2.2.1 2006年版本中就有这道题("Building H2O"),而且据作者说这道题已经在伯克利大学的操作系统课程中十余年了,看起来是Andrews的并发编程的一道练习题。

这道题也被收编到leetcode的并发题中:H2O 生成。题目和这本书中的内容一样,是一道标记为中等难度的题目。

所以说这道题至少存在30年了,理论上大家对这道题目研究的就是透透的。
by @技术头条 2023-07-23 11:24 查看详情
美团外卖智能陪伴型导购的探索与实践 (tech.meituan.com)
相比于其他电商场景,外卖场景对于实时发现和反馈用户兴趣的能力有着更高的要求,近年来,美团外卖算法团队摸索出了一套适用于外卖场景的智能陪伴型导购架构和策略。这一举措已经取得了显著成效,本文将详细介绍外卖搜索技术团队搭建智能陪伴型导购时,所遇到的挑战以及解决思路,希望能对大家有所帮助或启发。
by @技术头条 2023-07-23 11:23 查看详情
在线重建MySQL主从同步 (www.iots.vip)
  一套内部业务系统的主从同步库出现了同步异常,需要在不锁表的情况下,完成在线重建主从同步,本文简单记录一下操作过程。
by @技术头条 2023-07-04 23:35 查看详情
分布式数据库的一致性问题与共识算法 (thiscute.world)
谈到分布式数据库,不论是 Etcd/Zookeeper 这样的中心化数据库,还是 Ethereum 区块链这样的去中心化数据库,都避免不了两个关键词:「一致性」跟「共识」。

本文是笔者学习「一致性」和「共识」以及相关的理论知识时记录的笔记,这些知识能帮助我们了解 Etcd/Zookeeper/Consul/MySQL/PostgreSQL/DynamoDB/Cassandra/MongoDB/CockroachDB/TiDB 等一众数据库的区别,理解各数据库的优势与局限性,搞懂数据库隔离级别的含义以及应该如何设置,并使我们能在各种应用场景中选择出适用的数据库。

如果你对区块链感兴趣,那这篇文章也能帮助你了解区块链这样的去中心化数据库,跟业界流行的分布式数据库在技术上有何区别,又有哪些共同点,具体是如何实现。
by @技术头条 2023-07-04 23:33 查看详情
聊一聊:FaaS 在大规模网络爬虫的实践 (yance.wiki)
使用 FaaS 模型是通过无服务器架构来构建应用的方法之一,但随着无服务器模式的日渐普及,开发人员正在寻找支持构建无服务器微服务和无状态容器的解决方案。
by @技术头条 2023-07-04 23:32 查看详情
细说编码与字符集 (www.diguage.com)
前段时间要研究 Hessian 编码格式,为了搞清楚 Hessian 对字符串的编码,就顺路查了好多编码和字符集的工作,理清了很多以前模糊的知识点。下面整理一下笔记,也梳理一下自己的思路和理解。
by @技术头条 2023-07-04 23:29 查看详情
使用 Urch 让 Ubuntu 原生远程控制功能稳定可靠 (soulteary.com)
有些时候,使用远程控制能够简化不少运维和操作的事情。本篇文章分享如何通过开源工具 “Urch(Ubuntu Remote Control Helper)” 让 Ubuntu 原生的远程控制(远程桌面)功能稳定可靠。方案已经经过 Ubuntu 22.04 LTS 和最新版本的 Ubuntu 22.10 两个版本的验证。
by @技术头条 2023-07-04 23:28 查看详情
使用AF_XDP Socket更高效的网络传输 (colobu.com)
Linux 网络栈并不缺乏功能,它的表现也很好 足以满足大多数用途。但是,在高速网络下,传统网络编程的额外开销占比太大了。在前一篇关于syscall.Socket的文章中,我们介绍了AF_PACKET类型的socket,它的性能着实一般,所有的数据都得在用户态和内核态之间做转换,而且在高并发的情况下还有大量的中断。使用eBPF XDP可以完美解决高性能的问题,我们在更早的文章中介绍了XDP的技术,Björn Töpel在Linux 4.18版本中为Socket增加了一个协议族 AF_XDP,可以利用Socket接口和XDP技术实现高性能的网络读写。
by @技术头条 2023-07-04 23:28 查看详情
基于AI+数据驱动的慢查询索引推荐 (tech.meituan.com)
目前,美团内部的日均慢查询数量已经超过上亿条,如何对对这些慢查询进行分析并建立合适的索引,是美团数据库研发中心面临的一项挑战。美团数据库平台研发组与华东师范大学展开了科研合作,通过基于AI+数据驱动的索引推荐,来与基于代价的方法并行地为慢查询推荐索引,以提升推荐效果。
by @技术头条 2023-07-04 23:28 查看详情
分布式锁之 Apache Curator InterProcessReadWriteLock (www.diguage.com)
在上一篇文章 分布式锁之 Apache Curator InterProcessMutex 中介绍了基于 ZooKeeper 实现的互斥锁。除此之外,还可以实现读写锁。这篇文章就来简要介绍一下 InterProcessReadWriteLock 的实现原理。
by @技术头条 2023-07-04 23:26 查看详情
分布式锁之 Apache Curator InterProcessMutex (www.diguage.com)
对分布式锁耳熟能详。不过,一直关注的是基于 Redis 实现的分布式锁。知道 ZooKeeper 也可以实现分布式锁。但是,原来的想法是把 Redis 那个思路切换到 ZooKeeper 上来实现就好。今天了解到 Apache Curator 内置了分布式锁的实现: InterProcessMutex。查看了一下源码实现,发现跟基于 Redis 实现的源码相比,在思路上还是有很大不同的。所以,特别作文记录一下。
by @技术头条 2023-07-04 23:25 查看详情
低代码,想说爱你不容易 (blog.yuanpei.me)
当我了解了低代码和零代码的差异以后,我突然明白,我需要的其实是零代码,因为我希望那帮业务人员能自己搞定,这样就不用再来烦我,可经历这段时间的“低代码”,我清醒地认识到,这个想法根本不现实。
by @技术头条 2023-07-04 23:24 查看详情
日志最佳实践探究 (www.diguage.com)
加入公司以来,参与了很多个项目的开发维护;也排查处理过很多线上问题;为了写 Mock 测试,也专门去日志系统上扒拉过不少日志等等。在整个过程中,对日志的认识有了不少更深刻的认识和体会。也发现不少问题。这里先从存在的问题展开论述。
by @技术头条 2023-07-04 23:22 查看详情
密码管理和2FA管理软件 (ttzz.eu.org)
现在网络上各种网站服务非常多,每个人至少都有注册过几十上百个网站,账号密码的管理显得尤为重要,很多人为了便于记忆,多种账号采用相同的密码,这种做法非常不安全,因为一旦有一个平台的密码泄露,就很容易被撞库攻击。
by @技术头条 2023-07-04 23:22 查看详情
为你的服务器集成 LDAP 认证 (blog.yuanpei.me)
本文分享了 Nginx 和 Apache 结合 LDAP 实现身份认证的过程,背景则是企业级应用开发过程中对单点登陆、域账号登录的诉求。
by @技术头条 2023-07-04 23:18 查看详情
iptables 及 docker 容器网络分析 (thiscute.world)
本文先介绍 iptables 的基本概念及常用命令,然后分析 docker/podman 是如何利用 iptables 和 Linux 虚拟网络接口实现的单机容器网络。
by @技术头条 2023-07-04 23:16 查看详情
JWT 签名算法 HS256、RS256 及 ES256 及密钥生成 (thiscute.world)
JWT 规范的详细说明请见「参考」部分的链接。这里主要说明一下 JWT 最常见的几种签名算法(JWA):HS256(HMAC-SHA256) 、RS256(RSA-SHA256) 还有 ES256(ECDSA-SHA256)。

这三种算法都是一种消息签名算法,得到的都只是一段无法还原的签名。区别在于消息签名与签名验证需要的 「key」不同。
by @技术头条 2023-07-04 23:16 查看详情
聊一聊:Python和Golang的垃圾回收 (yance.wiki)
GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。
by @技术头条 2023-07-04 23:14 查看详情
Prometheus relabel实现动态metrics path (www.iots.vip)
  Prometheus 的 relabel 功能可以在目标的 label 被抓取之前重写它,每个采集配置可以配置多个 relabel,并按照配置的顺序来应用于每个 target 的 label。利用这个特性,我们可以实现动态的 metrics-path。
by @技术头条 2023-07-04 23:12 查看详情