Kratos漫游指南 2 - 配置 (farer.org)
这一篇讲讲Kratos配置组件的定义和使用。

微服务或者说云原生应用的配置最佳实践是将配置文件和应用代码分开管理——不将配置文件放入代码仓库,也不打包进容器镜像,而是在服务运行时,把配置文件挂载进去或者直接从配置中心加载。Kratos的config组件就是用来帮助应用从各种配置源加载配置。
by @技术头条 2024-01-13 23:30 查看详情
Kratos漫游指南 1 - 概览 (farer.org)
Kratos是一个Go语言实现的微服务框架,说得更准确一点,它更类似于一个使用Go构建微服务的工具箱,开发者可以按照自己的习惯选用或定制其中的的组件,来打造自己的微服务。也正是由于这样的原因,Kratos并不绑定于特定的基础设施,不限定于某种注册中心,或数据库ORM等,所以您可以十分轻松地将任意库集成进项目里,与Kratos共同运作。
by @技术头条 2024-01-13 23:30 查看详情
SQL优化(3)-索引与优化原理(上) (example.com)
这一篇我们回归现实中的MySQL数据库,初步学习具体的SQL优化原则,并尝试从索引底层原理出发,分析为什么会有那么多的“规则”。
by @技术头条 2024-01-13 23:28 查看详情
SQL优化(2)-索引与B+树 (example.com)
对于60%的程序员而言,Java的三层架构Controller、Service、Dao可以说是“越往后走天越黑”,特别是到了Dao层,提着灯笼也只能看到脚边一米开外的河边小石子,只闻对岸风啸马嘶却不知到底是人是鬼,只能借着MyBatis或JPA这些ORM框架隔着宽宽的河举行一场又一场的刺刀战,你砍我一刀,我刺你一剑。

诚然,很多人对MySQL数据库的印象就是一个模糊的大铁柜,闭上眼睛深吸一口气仿佛还能嗅到一股铁锈味。只知柜子里藏着很多张表,表里面存着很多行数据,再详细一点的呢?不知道。

MySQL有太多太多细节,根本无法用四、五篇文章说透,但我仍希望这个系列的文章能成为非常好的入门教程,让从来没接触过SQL优化的同学也能快速建立较为系统的知识框架,方便日后学习其他专栏时进一步拓展。
by @技术头条 2024-01-13 23:28 查看详情
浅谈Redis分布式锁(上) (example.com)
不论面试还是实际工作中,Redis都是避无可避的技术点。在我心里,MySQL和Redis是衡量一个程序员是否“小有所成”的两把标尺。如果他能熟练使用MySQL和Redis,以小化大,充分利用现有资源出色地完成当下需求,说明他已经成长了。

本篇文章我们一起来探讨Redis分布式锁相关的内容。

说到锁,大家第一时间想到的应该是synchronized关键字或ReentrantLock,随即想到偏向锁、自旋锁、重量级锁或者CAS甚至AQS。一般来说,我不喜欢一下子引入这么多概念,可能会把问题弄复杂,但为了方便大家理解Redis分布式锁,这里稍微提一下。
by @技术头条 2024-01-13 23:26 查看详情
BitTorrent 扩展协议(Extension Protocol)详解 (www.addesp.com)
BitTorrent 扩展协议(Extension Protocol)为 BitTorrent 协议簇提供了一个简单而轻量的扩展方式,可以在保证兼容性的同时为协议加入新的功能。比如基于 DHT 协议 的磁力链接就是使用扩展协议加入的新功能。

本文将介绍 BT 扩展协议的报文格式和时序。
by @技术头条 2024-01-13 23:25 查看详情