随笔分类 -  Go从入门到精通

摘要:目录一、Go操作之kafka二、sarama1. 下载及安装2. 注意事项三、连接使用kafka1. 发送消息2. 消费消息 一、Go操作之kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展等特点。本文 阅读全文 »
posted @ 2024-03-21 16:36 BigSun丶 阅读(375) 评论(0) 推荐(0) 编辑
摘要:目录一、限流-熔断-降级介绍1.1 限流1.1.1 限流指标TPSHPSQPS1.1.12 限流方法流量计数器滑动时间窗口漏桶算法令牌桶算法1.2 熔断1.2.1 断路器的状态1.2.2 需要考虑的问题1.2.3 使用场景1.3 降级1.4 总结二、熔断限流技术选型2.1 Hystrix2.2 se 阅读全文 »
posted @ 2024-03-19 12:22 BigSun丶 阅读(160) 评论(0) 推荐(0) 编辑
摘要:目录Go语言基础之网络编程一、互联网协议介绍二、互联网分层模型1. 物理层2. 数据链路层3. 网络层4. 传输层5. 应用层三、socket编程1. socket图解四、Go语言实现TCP通信1. TCP协议2. TCP服务端3. TCP客户端4. TCP黏包(1)黏包示例(2)为什么会出现粘包( 阅读全文 »
posted @ 2024-03-19 10:07 BigSun丶 阅读(172) 评论(0) 推荐(0) 编辑
摘要:目录一、什么是负载均衡1.1 负载均衡软件1.2 七层和四层负载二、负载均衡策略2.1 轮循2.2 加权轮循2.3 最少连接数2.4 最少连接数慢启动时间2.5 加权最少连接2.6 基于代理的自适应负载均衡2.7 固定权重2.8 加权响应2.9 源 IP 哈希三、go-rpc负载均衡演示3.1 pr 阅读全文 »
posted @ 2024-03-19 10:06 BigSun丶 阅读(286) 评论(0) 推荐(0) 编辑
摘要:目录一、注册中心1.1 服务注册与发现1.2 分布式一致性算法1.3 注册中心选型二、Consul2.1 介绍2.2 consul特点2.3 安装(1)普通安装i. winii. mac(2)docker安装三、常用API3.1 服务注册(1)使用postman注册演示(2)Go 语言注册3.2 服 阅读全文 »
posted @ 2024-03-19 10:05 BigSun丶 阅读(95) 评论(0) 推荐(0) 编辑
摘要:目录一、gRPC超时重试1.1 客户端1.2 服务端1.3 proto二、接口幂等性2.1 什么是幂等性2.2 什么情况下需要幂等2.3 如何保证幂等(1)token机制(2)关键点 先删除token,还是后删除token(3)token机制缺点(4)乐观锁机制(5)唯一主键(6)防重表(7)唯一I 阅读全文 »
posted @ 2024-03-19 10:05 BigSun丶 阅读(181) 评论(0) 推荐(0) 编辑
摘要:目录一、grpc metadata机制1.1 proto1.2 生成go文件1.3 服务端1.4 客户端二、grpc 拦截器interceptor2.1 服务端拦截器grpc.UnaryInterceptor(interceptor)2.2 客户端拦截器2.3 开源拦截器三、通过metadata+拦 阅读全文 »
posted @ 2024-03-19 10:04 BigSun丶 阅读(47) 评论(0) 推荐(0) 编辑
摘要:目录protobuf进阶一、protobuf 基本类型和默认值1.1 protobuf类型和语言对应关系1.2 protobuf默认值3. 案例(1)目录结构(2)hello.proto(3)生成go文件(4)client/main.go(5)server/main.go二、option go_pa 阅读全文 »
posted @ 2024-03-19 10:04 BigSun丶 阅读(91) 评论(0) 推荐(1) 编辑
摘要:目录gRPC的四种通信模式一、RPC(Unary RPC)二、服务端流RPC三、客户端流RPC四、双向流RPC五、综合案例5.1 新建streamdemo.proto5.2 执行命令,生成go文件5.3 客户端5.4 服务端六、总结 gRPC的四种通信模式 gRPC有四种通信⽅式,分别是:简单 RP 阅读全文 »
posted @ 2024-03-19 10:04 BigSun丶 阅读(940) 评论(0) 推荐(0) 编辑
摘要:目录一、grpc介绍1.1 RPC 介绍1.2 Protobuf 介绍二、下载生成proto工具三、下载go的依赖包四、快速使用4.1 编写proto4.2 生成go脚本4.3 编写main.go4.4 修改proto,加入更多参数4.5 重新生成4.6 修改代码五、完整的客户端服务端5.1 pro 阅读全文 »
posted @ 2024-03-19 10:03 BigSun丶 阅读(98) 评论(0) 推荐(0) 编辑
摘要:目录一、什么是 RPC?二、RPC 是如何通讯的?三、为什么要用 RPC?四、常见RPC框架 一、什么是 RPC? RPC 是指远程过程调用,也就是说两台服务器 A、B,一个应用部署在 A 服务器上,想要调用 B 服务器上应用提供的函数或方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调 阅读全文 »
posted @ 2024-03-19 10:02 BigSun丶 阅读(35) 评论(0) 推荐(0) 编辑
摘要:目录Go操作NSQ一、NSQ1. NSQ介绍2. NSQ的应用场景(1)异步处理(2)应用解耦(3)流量削峰二、安装三、NSQ组件1. nsqd2. nsqlookupd3. nsqadmin四、NSQ架构1. NSQ工作模式2. Topic和Channel五、NSQ接收和发送消息流程1. NSQ特 阅读全文 »
posted @ 2024-03-18 14:22 BigSun丶 阅读(181) 评论(0) 推荐(0) 编辑
摘要:目录Go第三方日志库logrus一、logrus介绍二、安装三、基本示例四、进阶示例五、日志级别六、设置日志级别七、字段八、默认字段九、日志条目十、Hooks十一、格式化十二、记录函数名 Go第三方日志库logrus 日志是程序中必不可少的一个环节,由于Go语言内置的日志库功能比较简洁,我们在实际开 阅读全文 »
posted @ 2024-03-18 14:21 BigSun丶 阅读(928) 评论(0) 推荐(0) 编辑
摘要:目录Go的orm框架1. gorm2. facebook-ent3. xorm4. upper/db:5. gorose一、Gorm介绍二、gorm连接数据库2.1 快速链接mysql2.2 其他配置2.3 加入日志打印sql(1)日志级别(2)Debug(3)具体代码三、automigrate功能 阅读全文 »
posted @ 2024-03-15 10:37 BigSun丶 阅读(503) 评论(0) 推荐(0) 编辑
摘要:目录一、go操作redis的选择二、redis安装1. windowd平台安装方案2. mac平台和linux平台安装方案3. redis应用三、快速使用1. 快速连接2. 字符串操作(1)方法(2)示例3. 列表操作(1)方法(2)示例4. hash操作(1)方法(2)示例5. 集合操作(1)方法 阅读全文 »
posted @ 2024-03-14 17:48 BigSun丶 阅读(76) 评论(0) 推荐(0) 编辑
摘要:目录一、go操作redis的选择二、redigo快速使用1. 快速链接三、redis操作四、连接池 一、go操作redis的选择 golang操作redis主要有两个库,go-redis和redigo。 go-redis:star数更多,支持连接哨兵及集群模式的Redis redigo:star数少 阅读全文 »
posted @ 2024-03-14 17:37 BigSun丶 阅读(61) 评论(0) 推荐(0) 编辑
摘要:目录一、介绍和使用1. 安装和快速使用二、基本增删查改1. 增加数据2. 修改数据3. 删除数据4. 查询数据三、其他查询1. Get和Select查询四、其他方法1. sqlx的NamedExec2. sqlx的NamedQuery五、事务操作六、连接池 一、介绍和使用 上一篇我们用了go-sql 阅读全文 »
posted @ 2024-03-14 17:36 BigSun丶 阅读(21) 评论(0) 推荐(0) 编辑
摘要:目录一、快速使用1. 下载2. 快速链接3. 最佳使用方案4. 设置连接池二、查询数据1. 单行查询db.QueryRow()2. 多行查询db.Query()三、插入数据四、删除数据五、更新数据六、MySQL预处理1. 什么是预处理?2. 为什么要预处理?3. Go实现MySQL预处理4. SQL 阅读全文 »
posted @ 2024-03-14 17:33 BigSun丶 阅读(23) 评论(0) 推荐(0) 编辑
摘要:目录Template1. 模板1. 模板示例2. 模板语法(1){{.}}(2)注释(3)pipeline(4)变量3. 条件判断(1)range(2)with4. 预定义函数5. 比较函数6. 自定义函数7. 嵌套template Template html/template包实现了数据驱动的模板 阅读全文 »
posted @ 2024-03-14 16:36 BigSun丶 阅读(64) 评论(0) 推荐(0) 编辑
摘要:目录一、log包介绍二、使用Logger三、logger的配置1. flag参数2. 配置日志前缀3. 配置日志输出位置4. 创建logger 一、log包介绍 Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用,更方便强大的日志记录需要借助于其它第三方日志库:zap、lo 阅读全文 »
posted @ 2024-03-14 16:29 BigSun丶 阅读(28) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示