03 2024 档案

摘要:目录一、Haproxy介绍1.1 常见的负载均衡器1.2 三者的优缺点1.2.1 LVS1.2.2 Nginx1.2.3 Haproxy1.2.4 总结理论总结应用总结3个案例负载均衡的通用的配置步骤二、Haproxy的部署2.1 下载、安装Haproxy2.1.1 yum源安装2.1.2 第三方安 阅读全文 »
posted @ 2024-03-25 10:05 BigSun丶 阅读(310) 评论(0) 推荐(0) 编辑
摘要:目录一、python 操作 kafka1. python 使用 kafka 生产者2. python 使用 kafka 消费者3. 使用 docker 中的 kafka二、python操作kafka细节2.1 生产者demo2.2 消费者demo2.3 消费者(消费者组)2.4 消费者(读取目前最早 阅读全文 »
posted @ 2024-03-21 16:38 BigSun丶 阅读(7307) 评论(0) 推荐(2) 编辑
摘要:目录一、Go操作之kafka二、sarama1. 下载及安装2. 注意事项三、连接使用kafka1. 发送消息2. 消费消息 一、Go操作之kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展等特点。本文 阅读全文 »
posted @ 2024-03-21 16:36 BigSun丶 阅读(375) 评论(0) 推荐(0) 编辑
摘要:目录Kafka集群部署1.1 服务器资源1.1.1 安装JDK(所有设备)1.1.2 配置ip和主机名映射(所有服务器)(可不做)1.1.3 配置主机名(所有设备)(可不做)1.2 在node1上安装、配置kafka1.2.1 安装kafka1.2.2 修改配置文件1.2.2.1 修改zookeep 阅读全文 »
posted @ 2024-03-21 16:27 BigSun丶 阅读(267) 评论(0) 推荐(0) 编辑
摘要:目录安装、使用Kafka一、下载Kafka和相关依赖二、安装和配置Kafka2.1 安装Kafka2.2 Kafka的配置2.2.1 kafka服务配置server.properties2.2.2 消费者配置consumer.properites2.2.3 生产者配置producer.propert 阅读全文 »
posted @ 2024-03-21 11:40 BigSun丶 阅读(3090) 评论(0) 推荐(0) 编辑
摘要:目录为什么要用Kafka一、kafka介绍1.1 基本概念和四大核心API1.1.1 基本概念1.1.2 核心API1.2 使用场景1.3 kafka生产者1.4 kafka消费者1.4.1 kafka的消费模式(1)At-most-once(最多一次)(2)At-least-once(最少一次)( 阅读全文 »
posted @ 2024-03-21 11:39 BigSun丶 阅读(199) 评论(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丶 阅读(97) 评论(0) 推荐(0) 编辑
摘要:目录一、什么是 RPC?二、RPC 是如何通讯的?三、为什么要用 RPC?四、常见RPC框架 一、什么是 RPC? RPC 是指远程过程调用,也就是说两台服务器 A、B,一个应用部署在 A 服务器上,想要调用 B 服务器上应用提供的函数或方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调 阅读全文 »
posted @ 2024-03-19 10:02 BigSun丶 阅读(35) 评论(0) 推荐(0) 编辑
摘要:目录一、代码优化原则二、避免全局变量三、避免 . 的使用3.1 优化方案一3.2 优化方案二3.3 优化方案三四、避免类内属性访问优化方案五、避免不必要的抽象优化方案六、避免数据复制1. 要避免无意义的数据复制优化方案2. 交换值时不使用中间变量优化方案3. 字符串拼接用join或者f-string 阅读全文 »
posted @ 2024-03-18 16:32 BigSun丶 阅读(40) 评论(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) 编辑
摘要:目录一、json 序列化和反序列化1. 序列化Marshal函数2. 反序列化Unmarshal函数3. 示例(1)Golang - 序列化结构体(2)Golang - 序列化map(3)Golang - 序列化slice二、xml 解析1. 案例一2. 解析xml3. 生成xml4. tag解释三 阅读全文 »
posted @ 2024-03-14 16:25 BigSun丶 阅读(54) 评论(0) 推荐(0) 编辑
摘要:目录一、Http1. net/http介绍2. HTTP协议3. HTTP客户端4. GET请求示例5. 带参数的GET请求示例6. Post请求示例7. 自定义Client8. 自定义Transport9. 服务端(1)默认的Server(2)默认的Server示例(3)自定义Server 一、H 阅读全文 »
posted @ 2024-03-14 16:16 BigSun丶 阅读(33) 评论(0) 推荐(0) 编辑
摘要:目录标准库之context一、为什么需要context1. 基本并发的示例2. 全局变量方式的并发3. 通道方式的并发4. 官方版的方案二、Context初识1. Context接口2. 两个顶级Context(1)Background()和TODO()(2)区别3. 派生Context(With系 阅读全文 »
posted @ 2024-03-14 16:07 BigSun丶 阅读(93) 评论(0) 推荐(0) 编辑
摘要:目录一、Path包1. 常用函数2. 示例二、filepath1. 常用函数2. 示例 一、Path包 实现的功能和python的os模块的os.path的方法类似 注意:该包只对 /路径有效,windows的\路径无效 1. 常用函数 path包实现了对用斜杠进行分隔的路径进行操作的函数 func 阅读全文 »
posted @ 2024-03-14 16:06 BigSun丶 阅读(76) 评论(0) 推荐(0) 编辑
摘要:目录一、rand库介绍二、math/rand1. 基本使用2. 常用的方法3. 生成定长的随机数三、crypto/rand 一、rand库介绍 在Go中,有两个包提供了rand,分别为 math/rand 和 crypto/rand, 对应两种应用场景 math/rand 包实现了伪随机数生成器。也 阅读全文 »
posted @ 2024-03-14 16:06 BigSun丶 阅读(44) 评论(0) 推荐(0) 编辑
摘要:目录一、strings库介绍二、字符串比较-Compare1. 介绍2. 示例三、检测字符串是否包含子串-Contains1. 介绍2. 示例四、大小写转换1. 介绍2. 示例五、统计子字符串出现的次数1. 介绍2. 示例六、判断字符串的前后缀1. 介绍2. 示例七、分割和连接1. 介绍2. 示例八 阅读全文 »
posted @ 2024-03-14 16:05 BigSun丶 阅读(32) 评论(0) 推荐(0) 编辑
摘要:目录一、exec介绍1. exec 函数和Cmd的方法二、案例1. 只执行命令,不获取结果2. 执行命令并获取结果3. 执行命令,区分stdout 和 stderr4. 使用管道,多条命令组合5. 设置程序级别的环境变量 一、exec介绍 有时候我们的go程序需要执行外部的命令,比如执行linux 阅读全文 »
posted @ 2024-03-14 16:04 BigSun丶 阅读(33) 评论(0) 推荐(0) 编辑
摘要:目录os介绍1. os基础操作2. os文件及目录相关3. 其他 os介绍 os 包提供了不依赖平台的操作系统函数接口。错误处理设计为go 风格,失败的调用会返回错误值而非错误码。通常错误值里包含更多信息 1. os基础操作 // 获取文件信息,可以用来判断文件或目录是否存在,获取文件大小 os.S 阅读全文 »
posted @ 2024-03-14 16:03 BigSun丶 阅读(14) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-03-13 17:14 BigSun丶 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-03-13 17:11 BigSun丶 阅读(0) 评论(0) 推荐(0) 编辑
摘要:目录一、 go中变量的内在机制二、反射1. 反射是把双刃剑2. 反射的简介三、reflect 库1. reflect.TypeOf(1)reflect.Type的 name 和 kind(2)kind 的能返回的类型如下2. reflect.ValueOf(1)反射取值(2)反射改值3. isNil 阅读全文 »
posted @ 2024-03-08 17:35 BigSun丶 阅读(240) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-03-06 17:57 BigSun丶 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-03-06 10:41 BigSun丶 阅读(5) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-03-06 10:40 BigSun丶 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-03-06 10:39 BigSun丶 阅读(1) 评论(0) 推荐(0) 编辑
摘要:目录一、flag库1. flag的简单替代2. flag的参数类型3. flag参数的定义(1)flag.Type()(2)flag.TypeVar()4. flag解析命令行参数5. flag其他方法二、strconv库1. string转换为int类型2. int转换为string类型3. Pa 阅读全文 »
posted @ 2024-03-06 10:38 BigSun丶 阅读(49) 评论(0) 推荐(0) 编辑
摘要:目录time库1. 时间类型2. 时间戳(1)时间格式转化为时间戳(2)时间戳转换为时间格式3. 时间间隔类型4. 时间的操作(1)时间转字符串(时间格式化)(2)字符串转时间(3)时间加时间间隔(4)两个时间之差(5)时间是否相同(6)判断时间前后(7)定时器 time库 time库是Go语言内置 阅读全文 »
posted @ 2024-03-06 10:38 BigSun丶 阅读(24) 评论(0) 推荐(0) 编辑
摘要:目录fmt库1. 获取输入(1)fmt.Scan(常用)(2)fmt.Scanln(常用)(3)fmt.Scanf2. print、println、printf 输出3. Sprint(了解即可)4. Errorf(了解即可)5. 格式化占位符(1)通用占位符(2)布尔型占位符(3)整型占位符(4) 阅读全文 »
posted @ 2024-03-06 10:35 BigSun丶 阅读(50) 评论(0) 推荐(0) 编辑

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