09 2023 档案
摘要:消息队列对于大型微服务系统是必不可少的,主要是用来解决削峰、降低服务之间的耦合度以及异步能力。 go-queue 在 segmentio/kafka-go 这个包基础上,使用 go-zero 进行了上层统一封装,让开发人员更容易上手,将更多时间聚焦在开发业务上。https://github.com/
阅读全文
摘要:注:生产消息之前要先建立topic,如下图所示 以下是kafka-topics.bat命令的几个参数介绍 1.生产消息 2.消费消息
阅读全文
摘要:1.API编写 2.生成API 生成后的目录如下
阅读全文
摘要:1.初始化数据库连接 2.建立模型 3.配置GORMDB 4.在RPC使用 5.启动RPC会看到如下结果 6.进行测试
阅读全文
摘要:1.准备MYSQL文件 CREATE TABLE user ( id bigint AUTO_INCREMENT, name varchar(255) NULL COMMENT 'The username', password varchar(255) NOT NULL DEFAULT '' COM
阅读全文
摘要:1.编写message.proto文件 syntax = "proto3";package pb;// 生成golang 代码后的包名option go_package ="./pb";enum Status{ UNSPECIFIED=0; SUCCESS=1; FAILED=2;}message
阅读全文
摘要:一:商城微服务简介 该商城主要包括的微服务有:购物车、首页、订单服务、支付服务、用户服务、商品服务,主要采用的是go-zero来实现 商城的思维导图如下 图片转自:https://bbs.csdn.net/topics/608056514 从以上思维导图可以看出,我们根据业务职能做如下微服务的划分:
阅读全文
摘要:GIN,JWT下载地址 github地址:https://github.com/golang-jwt/jwt 文档地址:https://pkg.go.dev/github.com/golang-jwt/jwt 下载:go get github.com/golang-jwt/jwt package m
阅读全文
摘要:GIN 路由分析 第一步:gin.Default 这个会返回一个Engine,Engine的结构如下 其中RouterGroup也是与路由有关的结构体,它的结构体如下 第二步:r.GET() r.get就是路由注册和路由处理。 r.GET里面的方法就是group.handle就是咱由处理,handl
阅读全文
摘要:一.结构体Engine 二.Context 三.启动流程分析 3.1首先初始化Engine,gin.Defult 在这里面分先初始化一个Engine、这个Engine会将具体的中间件导入,并且返回一个Engine,具体的代码如下 3.2r.Run(":8081")分析 在这个方法里面的话,它会调用
阅读全文
摘要:package commimport ( "crypto/aes" "crypto/cipher" "crypto/md5" "encoding/base64" "encoding/binary" "errors" "fmt" "lottery/conf" "math/rand" "strconv"
阅读全文
摘要:iris接入数据库,这里在XORM组件为例 conf的配置文件如下 这里面具体的配置了数据库的各种信息。
阅读全文
摘要:iris.context的结构体如下 以该结构体建立的主要方法有如下,以下列出一些常用的方法 剩余具体的方法见源码,源码位置: 使用方法示例
阅读全文
摘要:IRIS路由注册 实例化完Application对象,接着就是路由注册了。也就是类似下面的代码 看看api.Get 实现 我们主要看app.Get("/home", HomeHandler)这个函数的实现。进入该Get函数的源码,发现调用者是APIBuilder结构体,如下: 这是因为在Applic
阅读全文
摘要:iris路由实现原理 首先,我们看iris.New函数的作用。该函数就是创建了一个Application结构体的实例 app。然后后面的操作都是基于该实例 app 进行的操作。下面是该Application结构体的主要字段, 在Application的字段中,从名字上看有两个字段是和路由相关的:ro
阅读全文
摘要:1.NEW函数分析 iris.go 其中 router.NewRouter()初始化了一个默认路由router.go 2.RUN函数分析 (1)首先分进行app.build,构建一次可设置框架 app.build的函数如下 如果有用到视图的话,默认要建立视图的目录和模板,不在的话引用会报如下错误 h
阅读全文