- 博客(14)
- 收藏
- 关注
原创 服务网格istio之service并不依赖DestinationRule
在我不需要链接池功能时,甚至可以用两个独立版本service来代替dr拆分子集的功能。表面上来看,dr的作用就是扩充service的能力,将一个service实例(endpoint)拆成多个子组。其中dr就是对应的是cluster,cluster对应就是实例池。也就是说,dr就是用来定义envoy实例池的,当然从能力上来看,dr既是实例池又是链接池。创建两组service服务名为为server-v1,server-v2,其中不需要为service创建dr。要是真认为是这样,那其实大大的限制dr的能力。
2023-08-27 17:58:57
117
原创 go redis使用可重入锁支持选主
为了保证稳定性,后端会部署多实例,在读的场景下其实是不需要选主的。但是也有需要单实例运行的人文,这就需要选主。
2022-10-02 17:37:08
731
原创 go redis lua实现分布式令牌桶算法
团队接了个根据告警的进行处理的需求,需要限制这个处理的速度,比如说一个小时只能最多处理三个,防止在晚上出现大量不可控变更影响。令牌桶算法原理可以参照,k8s限速队列、令牌桶原理可以参照。
2022-10-02 01:36:35
729
原创 Go xorm 插入多条数据无法生成自增id
使用xorm insert功能时,只插入一个对象时,要是声明了id xorm属性newObject id为空时就能自动更改为对应id。但是单次插入多个object则不会不会更改对应id,id保持为0。这样在写入时记录就会存在问题。......
2022-08-28 11:29:55
1490
原创 go-xorm如何嵌入子查询
go xorm相对其他orm工具有则不俗的用户友好性以及稳定性。xorm用户使用指南缺少对子查询的描述,只有join的使用指南。
2022-08-28 08:06:11
999
原创 vscode下go无法识别基础工具,同时引发go get mkdir permission denied错误
go get时mkdir permission denied错误1.问题描述有可能之前vscode都是好好的突然间就工具就找不到,也有可能重新下载工具还出错,也有可能就算重新下载工具还用不了。分析1.直接差生原因vscode在使用go extension时,会查看$GOPATH/bin下面的基础开发工具是不是完备。如下图:一旦找不到相应的工具,vscode就会提示install。这是非常正常的现象,出现以上错误就是没有权限写进去文件夹。但,问题远没那么简单,gopath一般都不会要求很
2021-05-13 15:07:38
1765
原创 go get github默认版本问题
go获取最新的代码库go get是go开发者非常常用的命令,在gomodule模式下,go代码在pkg/mod进行了统一管理。当我们使用IDE时,尽量使用go get下载go程序。因为IDE,如vscode的代码跳转和解析都依赖gopath和go mod的代码,不使用go get命令,便需要开发者自已进行代码结构的创建,git clone并不会把父路径进行创建,也不会将代码自动放到go的代码有效路径上。作为开发者,这种程序管理的要求是应该遵守的。但是go get 比较奇怪的一点是,不会clone最新版本
2021-02-18 18:12:16
2839
原创 sql-union-count
多表并集统计主要分享一下多表做并集之后进行统计的方法。先将多个表做并集,不创建视图不建表。select *from ( select key as ID from a where key > 999 union all select num as ID from b where num > 999)where ID < 100分组统计select count(ID)from ( select key as ID, class from a
2021-02-10 17:17:50
648
原创 golang标准输入输出获取带有空格的字符串
golang获取带空格字符串的方法一般我都是使用fmt包中scan系列函数抓取字符串。但是今天写算法,写到shein一题要求统计字符串中空格,数字,大小写字母,然后统计数字降序,相同时字符大小升序的算法题。因此无论使用scan,scanf,scanln都无法满足要求,一遇到空格就直接返回。使用bufio.reader(os.Stdin).readString(“\n”)可以直接读出整行字符串。附上算法代码package mainimport ( "fmt")func sort(list []
2020-08-31 20:00:04
4029
原创 美团提前批2020笔试题第五题-黄黑树高
黄黑树高我将变量都hard code 到代码里面,a代表节点个数,colors代表每个节点的颜色,parent代表节点下标index+2标号的节点的父节点是parent[index]。该方法使用深度遍历,把所有与当前节点有关的节点都做一次深度计算。当然了更优秀的人肯定是使用动态规划,但是由于记录某个节点的状态还挺难定义,所以我在做题时没做。package mainimport ( "fmt")func main() { for { var a int = 10 // _, err
2020-08-08 18:21:23
503
原创 使用go swagger创建结构体里的map[string][]string值域
map[string][]string在swagger中表示的格式新增结构体字段描述 properties: ...... $fieldname: type: object additionalProperties: type: array items: type: string然后运行swagger generate,就能创建出value 为切片的map。 // Requ
2020-06-30 15:34:07
1746
原创 Tensorboard启动时面对大量文件存在内存升高问题
Tensorboard OOM隐患Tensorboard启动时面对大量文件时存在内存过高问题,在启动之后tensorboard是可以正常启动查看的,但是很多人没有发现,tensorboard的内存占用会慢慢增加。其实这个增长有快有慢。当logdir下的文件越多,内存升高越快。这到底是与文件总大小有关,还是跟个数有关。我们分别进行试验。1.初始实验root@web-tb-v1-679948455-x96hd:/tmp/data/test# cdevents.out.tfevents.15924
2020-06-23 13:46:58
1239
原创 golint校验输出import cycle not allowed
golint校验输出import cycle not allowedgolint: analysis skipped: errors in package: [-: import cycle not allowed in test] 。其实都知道由于是由于程序import的时候形成了环,稍微修改一下package就好了(package xxx_test的语法真的一般般)。由于没有明确输出哪一个程序出错,最简单的方法就是一个一个文件夹地试。没有环引用的文件夹不会出现以上提醒。一般都是因为,自动生成的t
2020-06-23 11:14:07
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人