自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 prometheus网络包相关监控(采集服务node-exporter)

prometheus网络监控

2022-08-24 17:09:30 753 1

原创 记一个clickhouse使用的坑

背景根据公司业务,我们需要使用 kafka+clickhouse搭建一套监控数据的存储系统。kafka和clickhouse均为三节点集群。现象在测试过程中,数据源数据进行了多次调整,数据字段进行过调整。在某次修改接口、字段修改后,kafka有数据,但数据始终无法存入到clickhouse。第一次排查通过比对kafka数据,发现kafka数据字段数据类型与clickhouse定义的表结构字段不一致(类型不一致,clickhouse定义为int型,而kafka字段为float)。打回接口重新对应字段

2022-04-28 15:46:42 725 1

原创 golang 获取panic时的堆栈信息

golang panic recover 堆栈

2022-03-28 15:18:01 1654

原创 Go 报错:unknown time zone

Golang报错:unknown time zone “Asia/Shanghai”现象使用docker容器运行go应用,服务中有对时区进行设置:loc, err := time.LoadLocation("Asia/Shanghai")if err != nil { fmt.Println("LoadLocation err:", err) return nil, err}报错:unknown time zone "Asia/Shanghai"解决路线查阅相关问题,应该是容器没有

2021-12-20 17:29:31 4978 1

原创 TCP IP整理

OSI七层模型:应用层表示层会话层传输层网络层数据链路层物理层TCP/IP四层模型应用层:为用户直接提供不同的网络服务协议,比如HTTP、Email、FTP等,这些协议都是为了解决实际生活中不同的需求而产生的协议。传输层:为应用层提供通信服务,为互相通信的应用进程提供逻辑通信。包括TCP、UDP协议。​ 作用,1、分段及封装应用层送来的数据。​ 2、提供端对端的传输服务​ 3、在发送主机与接收主机之间构建逻辑通信网络层:实现数据包的选路和转发。广域网通常使用众多分级.

2021-07-19 17:53:21 138 2

原创 HTTP小记

HTTP小记文章非原创,整理了几位大佬的文章,供自己学习使用基础知识HTTP(HyperText Transfer Protocol) 超文本传输协议URI(Uniform Resource Identifier)统一资源标志符,表示web上每一种可用的资源。URN(Uniform Resource Name)统一资源名称,通过特定命名空间中的唯一名称或ID来标识资源。URL(Uniform Resource Location)统一资源定位符,不仅标识了一个资源,还告诉了如何访问它,一个标准的U

2021-07-19 17:48:01 106

原创 缓存一致性解决方案研究

问题:如何保证缓存和数据库的一致性方案常见更新缓存方式的几种方案:先更新缓存,再更新数据库先更新数据库,再更新缓存先删除缓存,再更新数据库先更新数据库,再删除缓存方案分析方案一:先更新缓存,再更新数据库最不可取的方案,因为当缓存更新成功,但是数据库更新失败时(往往数据库更新失败时,会有一些补救方法),会出大问题。方案二:先更新数据库,再更新缓存俗称双写,存在的问题:并发更新数据库场景下,会将脏数据刷到缓存。场景:更新数据库操作1 ----》更新数据库操作2—》更新缓存操作2—》

2021-07-14 18:30:22 97

原创 gorm的子句构造

gorm为我们提供了很多方法便捷我们的操作,例如 Where、Model、Update。。。等等,这些方法最终都是走到了gorm的构建器,详情见:https://gorm.io/zh_CN/docs/sql_builder.html在某些时候我们可能需要自己去构建sql语句提供两个参考:参考一冷热表查询联合查询,可使用 Union/Union All,我这里两个表结构完全相同elfilter := exchangeDBClient.Table("") //使用提供的方法,构建查询条件 elfi

2021-05-19 17:21:28 776

原创 Postgres数据库,导入导出时遇到的坑

前言为了方便本地测试,我想要将服务端的数据拉到本地,当navicat无法直接连接远端数据库时,我们只能通过命令行操作。导出数据通过搜索,获取到知识点:导出指定表pg_dump -h (your_host) -U (username) dabsename -t (tablename) > ./dum.sql数据成功导出!使用Navicat导入数据,失败,报错:[SQL] Query cqh1 start[ERR] 错误: 语法错误 在 "165513" 或附近的LINE 80

2021-01-15 18:07:31 6506

原创 Go Web项目,session使用中的小坑

使用的 Gin框架,在使用session的时候遇到了一些小坑,分享一下,同时也希望有大佬能解答一下。设置session的时候,set 之后,session并没有生效,必须要接着 save 才能生效,代码如下:session := sessions.Default(c)session.Set("mysession", "username")session.Save()网上有解释说:Session的save()方法完成以下的操作:(1)把Customer对象加入到缓存中,使它变为持久化对象。

2020-12-22 18:05:32 641

转载 go proxy管理

在Go 1.13中,我们可以通过GOPROXY来控制代理,以及通过GOPRIVATE控制私有库不走代理。设置GOPROXY代理:go env -w GOPROXY=https://goproxy.cn,direct设置GOPRIVATE来跳过私有库,比如常用的Gitlab或Gitee,中间使用逗号分隔:go env -w GOPRIVATE=*.gitlab.com,*.gitee.com如果在运行go mod vendor时,提示Get https://sum.golang.org

2020-12-08 14:26:03 336

原创 MySQL 事务 小知识

MySQL 事务 小知识使用 非 唯一索引 时,会有一些小细节mysql在可重复读级别下,写操作 有 间隙锁 一说写操作时,在where语句查询到第一个时,并不会就此打住,而是会继续向下查询,直到查询到第一个不成立为止,mysql会将找到的第一个值,和第一个不等的值,之间的 “间隙” 上锁。这就导致,当并发任务时,有可能会因为间隙锁而引发 死锁问题,需要多多注意。...

2020-09-10 19:16:28 69

转载 go中数据库连接池的学习

使用了gorm,gorm的连接池是直接使用的database/sql,所以需要学习一下database/sqldatabase/sql的连接池1、驱动注册import ( "database/sql" _ "github.com/go-sql-driver/mysql"//自动执行init()函数)init的时候会自动注册2、打开DB句柄db, err := gorm.Open("mysql", "root:123456@(127.0.0.1:3306)/vf") if e

2020-07-03 14:24:47 581

原创 Gorm 单表查询 分组后统计,并按照指定的格式输出

直接上代码:type AppraiseCount struct { AppraiseName string `json:"appraise_name"` Count int `json:"count"`}type Appraise struct { AccountID int64 `json:"account_id" gorm:"primary_key;typ...

2020-04-29 21:19:23 4032

原创 Gorm复合主键(联合主键)使用时需要注意的点

当我在使用Go语言开发时,使用MySQL数据库,gorm框架,遇到了一些小坑,在这里给自己一个记录,也给各位道友普及一下我掉过的坑,有类似的可以借鉴一下。在使用gorm时,会有这样的需求:我想要存储数据,这条数据如果在数据库中存在,就做更新操作;如果不存在就做插入操作。而gorm就提供了很好的封装——Save方法。我们来看看官方文档怎么说这个Save的:1.4.1. 更新全部字段Sav...

2020-04-26 14:38:07 6440

原创 go moduler遇到的一些问题

问题1 在go.mod文件中require了包,但是工程中任然无法使用我在使用过程中出现了多次,但是出现的情况却不一样我使用的goland编辑工具。第一种情况:当我require的是自定义的包时,出现了工程中无法使用的情况,各种调试都不行,然后我 “重启了一下goland编辑器” 然后,问题就自然而然的解决了。第二种情况:当我requiregithub上的外部包时,也出现了这种情...

2020-04-13 11:28:57 666

原创 Go module使用中,被墙解决方法!

Go module使用中,被墙解决方法!使用go的过程中,会遇到有些包被墙了的情况使用go的过程中,会遇到有些包被墙了的情况使用传统的go写程序,遇到被墙的包,通常是在官网下载对应的包,然后手动创建对应的目录,将包一进去就行了。而使用go module进行包管理 的时候,也会遇到这种情况,解决方法如下。手动编辑go.mod文件,增加下面代码replace ( golang.org/x...

2020-03-20 16:29:25 513

原创 Go语言结构体指针为nil时的小坑

结构体空指针的小坑当我们使用其他包的结构体,方法的时候,通常需要先创建一个该结构体的对象,再去使用该对象的方法。但是如果我们声明的对象是一个结构体的指针的时候,就不能简单的使用var了。使用var的时候,指针会自动赋值为nil,在很多时候,这个nil是会出大问题的。请看一下示例。我们创建一个“justtest”的目录,其中有1个“MyTest.go”的文件,代码为:package justt...

2019-09-29 16:20:47 2827

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除