Go 语言进阶(一) -- Go hertz http框架、kitex RPC微服务框架、gorm 数据库框架三件套用法详解

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

Go 框架三件套

1. 概论

  • Gorm

    Gorm 是一个已经迭代了10年+的功能强大的 ORM框架,在字节内部被广泛使用并且拥有非常丰富的开源扩展。

  • Kitex

    Kitex 是字节内部 Golang 微服务 RPC 框架,具有高性能、强可扩展的主要特点,支持多协议并且拥有丰富的开源扩展。

  • Hertz

    Hertz 是字节内部的 HTTP框架,参考了其他开源框架的优势,结合字节跳动内部的需求,具有高易用性、高性能、高扩展性特点

2. Gorm

官方文档

 //定义 gorm model 
type Product struct {
   
   
	Price uint Code string
}
为 model 定义表名
func (p Product) TableName() string {
   
    
	return "product";
} 
func main(){
   
   
  db,err := gorm.0pen(
    ////连接数据库 
  mysgl.0pen(dsn:"user:passtcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local").&gorm.Config{
   
   })
  i
go 整合网关Hertz Hertz 网关是微服务网关,由CloudWeGo团队开发,于2021年正式发布。它基于Go语言编写,支持HTTP/gRPC/Thrift协议,具备高并发、高性能、高可用等特性,可以部署在Kubernetes环境中。Hertz 网关具有动态路由、限流、熔断、黑白名单、认证鉴权等功能,并且支持可插拔的扩展机制。 阅读详情

相关推荐

Go框架三件套Gorm Kitex Hertz基本用法与常见API讲解

为什么使用IDL:要进行 RPC,就需要知道对方的接口是什么,需要传什么参数,同时也需要知道返回值是什么样的,就好比两个人之间交流,需要保证在说的是同语言、同件事。中间件可以在请求到达业务逻辑之前执行,比如执行身份认证和权限认证,当中间件只有初始化(pre-handle)相关逻辑,且没有和 real handler 在个函数调用栈中的需求时,中间件中可以省略掉最后的。,其第个参数为调用的 服务名(用于微服务中的服务发现),第二个参数为 options,用于传入参数, 此处的。

ai520wangzha的博客 2080

golang入门笔记——Hertz

Hertz是字节跳动研发的企业级微服务HTTP框架,具有高易用性、易扩展、低时延等特点。是基于自研网络库Netpoll开发的内部框架HertzHertz框架整体上满足:1.极致性能优化的问题性2.面对未来不可控需求的扩展能力,Hertz采用了4层分层设计(应用层、路由层、协议层、传输层),保证各个层级功能内聚,同时通过层级之间的接口达到灵活扩展的目标。

qq_43716830的博客 5160

基于 HertzKitexGo 微服务项目 | 开源项目推荐

目录介绍Server项目核心部分Shared可复用代码Static前端静态文件这个项目还是花费的不少时间,欢迎大家学习,如果 Star 是对我们最大的鼓励!

Lance_Yuan24的博客 2530

Go Hertz 简介

Go Hertz 简介

闲余知道 998

[kitex + gorm-gen + hertz] 快速写出个基于go微服务

快速搭建go微服务项目

Alex抱着爆米花的博客 4867

GormKitexHertz

GormKitexHertz

qq_41421755的博客 1458

开源 Golang 微服务入门HTTP 框架 Hertz

HertzGolang 微服务 HTTP 框架,在设计之初参考了其他开源框架 fasthttp、gin、echo 的优势, 并结合字节跳动内部的需求,使其具有高易用性、高性能、高扩展性等特点

yumuing‘s blog 3473

Go语言框架三件套入门【自学自讲】

框架种提供了预定义功能和工具的软件结构,旨在帮助开发人员更轻松地构建应用程序,减少重复代码,提高开发效率,常见类型包括Web、前端、后端、移动应用和游戏开发框架框架通常做的事情,就是让我们写代码更加快速,并且和别人遵循同套规范,便于代码扩展功能或者维护等等。通常做的规范就是把硬编码变成配置文件,或者把许多的功能汇总在起,兼容其它框架,让工程代码更加有序,让我们更加注重业务逻辑代码。

weixin_73956119的博客 1303

Go框架三件套Gorm的基本操作

这里的Go框架三件套是指WebRPCORMGorm框架gorm框架个已经迭代了10+年的功能强大的ORM框架,在字节内部被广泛使用并且拥有非常丰富的开源扩展。Kitex框架Kitex是字节内部的Golang微服务RPC框架,具有高性能、强可扩展的主要特点,支持多协议且拥有丰富的开源扩展。Hertz框架Hertz是字节内部的HTTP框架,参考了其他开源框架的优势,结合字节跳动内部的需求,具有高易用性、高性能、高扩展性等特点。

Xayla的博客 1533

Go框架三件套(Web/RPC/ORM)

Gorm个已经迭代了10+年的功能强大的 ORM 框架,在字节内部被广泛使用并且拥有非常丰富的开源扩展。Kitex 是字节内部的 Golang 微服务RPC 框架,具有高性能、强可扩展的主要特点,支持多协议并且拥有丰富的开源扩展。Hertz 是字节内部的 HTTP 框架,参考了其他开源框架的优势,结合字节跳动内部的需求,具有高易用性、高性能、高扩展性特点。

qq_41847894的博客 1054

Go 学习笔记整合

go语言学习笔记,套搞定go语言

追求幸福,探索未知的博客 2300

开源!用CloudWeGo全家桶重构的AI零代码生成应用项目

摘要:作者耗时3个月,基于CloudWeGo技术栈对B站UP主鱼皮的AI零代码应用生成平台进行了Go语言重构。项目采用HertzGORMgo-redis等主流框架,整合Eino实现AI工作流,覆盖Go协程、微服务通信、依赖注入等核心知识点。重构后系统在性能与扩展性上显著提升,成为Go生态中少见的AI实战案例。项目已开源,作者承诺根据Star数量决定是否发布详细教程。

2303_81266504的博客 258

Go生态趋势分析:从Awesome-go-with-stars看2024年技术热点

Awesome-go-with-stars作为自动更新的Go优秀项目列表,按星级排序展示了Go生态系统的活跃程度和发展趋势。本文将通过分析该项目数据,揭示2024年Go语言在各个领域的技术热点和发展方向,为开发者提供全面的生态洞察和学习指南。 ## 人工智能与机器学习:Go语言的AI革命 2024年,Go在人工智能领域呈现爆发式增长,多个项目突破万星大关。**Ollama**以173,783星

gitblog_00091的博客 397

CloudWeGo Biz Demo 项目教程

CloudWeGo Biz Demo 项目教程 1、项目介绍 CloudWeGo Biz Demo 是个用于展示 CloudWeGo 在企业级应用中的实际使用案例的开源项目。该项目包含了多个子项目,每个子项目都展示了不同的业务逻辑和技术栈,为企业在生产环境中使用 CloudWeGo 提供了宝贵的参考。 2、项目快速启动 环境准备 在开始之前,请确保你已经安装了以下工具: Go 语言环境(建议版...

gitblog_00253的博客 1007

Golang基础面试题汇总

channel、goroutine、slice、map、反射、内存、GC、Musql、Redis、ELK、K8s、HttpHttps

weixin_41760738的博客 5663

Go Hertz框架入门:构建高性能Web服务

Hertz是由字节跳动开源的Go语言HTTP框架,专注于高性能和易用性,适用于构建微服务、API网关等Web应用。安装Hertz只需使用go get命令,创建应用时可通过简单的代码实现“Hello World”示例。Hertz支持常见的HTTP方法、RESTful路由、参数绑定与验证、中间件、分组路由、静态文件服务等功能。开发者可以自定义服务器配置、错误处理、请求响应逻辑,并轻松处理文件上传和实现优雅关闭。Hertz还提供了性能优化建议,如调整并发数、启用压缩等。虽然Hertz本身不提供数据库和缓存集成,但

sinat_41883985的博客 1571

golang hertz框架入门

两种模式新建项目1、手动新建项目2、使用hz工具新建项目。

工作中学习,学习中进步 1091

玩转 Go 生态|Hertz WebSocket 扩展简析

WebSocket 是种可以在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。提供了的支持,参考库使用hijack的方式在 Hertz 进行了适配,用法和参数基本保持致。

dz45693的专栏 1869

Go语言学习指南——HTTP框架Hertz

HertzGolang 微服务 HTTP 框架,在设计之初参考了其他开源框架 fasthttp、gin、echo的优势, 并结合字节跳动内部的需求,使其具有高易用性、高性能、高扩展性等特点,目前在字节跳动内部已广泛使用。如今越来越多的微服务选择使用 Golang,如果对微服务性能有要求,又希望框架能够充分满足内部的可定制化需求,Hertz 会是个不错的选择。

m0_62275194的博客 1932
上一篇: Go 语言入门(四)-- 性能优化 & 内存管理 内存自动回收算法 运行时
下一篇: Go语言进阶(二) -- 编译原理基础、规则引擎设计与实现 词法分析 语法分析 语法数 上下文无关语法 巴科斯范式
异已
博客等级 码龄8年 4粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值