Blogs

Expore the latest articles from Next Notion Blogger

November 13, 2024

go-gorm源码分析(三)

go-gorm源码分析(三)

GORM支持的关系类型主要包括一对一、一对多、多对多等关联关系的定义和查询。在GORM中,开发者可以在模型中定义这些关联关系,并使用GORM提供的方法进行关联查询和操作。本文重点介绍其关系的实现原理。

October 28, 2024

go-gorm源码分析(二)

go-gorm源码分析(二)

前文分析了go-gorm的大致结构,包括初始化以、连接管理以及SQL构建等,本文分析gorm下通过ORM(对象关系映射)读写数据的基本原理及执行逻辑。

October 15, 2024

go-gorm源码分析(一)

go-gorm源码分析(一)

最近在查找一些golang版本的SQL Builder的选型,刚好了解到了gorm的能力。gorm内嵌的SQL拼接能力其实不太适合作为独立特性来使用,其内部实现与gorm有较深的耦合关系。但是gorm的关系操作能力很强大,猜测跟directus中的实现有些类似。刚好之前阅读directus源码时觉得ts代码有些繁杂晦涩,所以阅读一遍gorm的源码,并记录其分析过程。

August 22, 2024

pREST源码分析

pREST源码分析

之前的文章中已经分析了pREST的功能和基础用法,本文介绍其代码结构以及实现原理。各接口实现差异不大,本文重点关注其CRUD能力以及自定义查询的实现方案。

August 14, 2024

pREST功能简介

pREST功能简介

pREST是一个使用go开发的开源项目,用于为 PostgreSQL 数据库创建实时高性能的 REST 接口,旨在简化和加速基于 PostgreSQL 的应用开发。它允许开发者通过简单的配置将现有的 PostgreSQL 数据库转化为一套完整的 REST 服务,无需自己去实现复杂的后端服务。本文重点介绍pREST的能力和使用方法。

July 5, 2024

golang BigCache源码解析

golang BigCache源码解析

golang的本地缓存方案有不少,如freecache、bigcache、groupcache等。很久前看过groupcache的源码,对其singleflight的机制印象挺深的,但是印象中没有对gc做特殊的优化。最近刚好看到了了bigcache的介绍,其内部实现重点考虑了gc对于性能的影响。所以翻出其代码快速阅读了一遍其核心思路,特此记录。

July 3, 2024

Netflix按优先级减载保障可用性(二)

Netflix按优先级减载保障可用性(二)

已经在之前的文章中介绍了Netflix在API网关Zuul中实施的按优先级减载策略来保障服务的可用性。当前这一策略已经扩展到了单个服务级别。重点关注在视频控制层面(即AWS中的后台服务)和数据平面。

July 2, 2024

Netflix按优先级减载保障可用性(一)

Netflix按优先级减载保障可用性(一)

Netflix的文章《Keeping Netflix Reliable Using Prioritized Load Shedding》探讨了Netflix如何通过引入基于优先级的减载法(Prioritized Load Shedding)来改进系统可用性,确保在系统高负载或故障时仍能保障基础功能可用。

Explore articles by category

gorm (2)
BaaS (8)
Golang (14)
OAuth (4)
Next.js (8)
Notion (2)
CMS (2)
 (2)
随笔 (1)
Docker (2)
Nginx (4)
HTTPS (2)
;