摘要: # golang依赖注入工具 digo工具地址:[https://github.com/werbenhu/digo](https://github.com/werbenhu/digo) ## 特性 - 使用注释中的注解 - 自动代码生成 - 自动检测循环依赖 - 编译时期依赖注入 - 自动初始化 - 阅读全文
posted @ 2023-06-02 10:12 werbenhu 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 关于Copy-on-write的理解 定义 写入时复制(英语:Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(callers)同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的 阅读全文
posted @ 2022-04-21 17:38 werbenhu 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 生成keyfile //生成keyfile openssl rand -base64 756 > mongo-keyfile.jks chmod 600 keyfile/keyfile.jks //如果报error opening file: keyfile/keyfile.jks: bad fil 阅读全文
posted @ 2021-10-12 18:41 werbenhu 阅读(203) 评论(0) 推荐(0) 编辑
摘要: slice[i:j:k]其中 i 表示从 slice 的第几个元素开始切,j 控制切片的长度(j-i),k 控制切片的容量(k-i),如果没有给定 k,则表示切到底层数组的最尾部。 注意: k控制切片的容量,不是说k的值是多少就是cap是多少,cap=k-i func testCapNotEnoug 阅读全文
posted @ 2021-10-08 16:11 werbenhu 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 有条件翻Q的去这里看吧:看前面的配置步骤就可以了。 https://www.youtube.com/watch?v=e1C5WIfZ89s 我这里记录一下: 进入https://console.cloud.google.com/自己创建一个项目 选择创建的项目 进入API&Services → Da 阅读全文
posted @ 2021-03-16 16:08 werbenhu 阅读(672) 评论(1) 推荐(0) 编辑
摘要: 看了一阵子nsq源码,出去细节大体的流程基本算是看明白了 下面来总结一下,看下面的图 个人觉得其实只要搞清楚几个Loop,我称为“守护”协程,也就是一直在for... select... 里面跑着不退出的几个关键函数。 看上面的图,有几个呢? 从底层依次往上看 diskqueue.IoLoop(): 阅读全文
posted @ 2021-03-12 15:33 werbenhu 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一、TCP Handler nsqd里面的Main函数。 //nsqd.go func (n *NSQD) Main() error { //... n.waitGroup.Wrap(func() { exitFunc(protocol.TCPServer(n.tcpListener, n.tcpS 阅读全文
posted @ 2021-03-12 14:50 werbenhu 阅读(343) 评论(0) 推荐(0) 编辑
摘要: channel有下面几个重要的成员,其实跟topic还有点像,都有一个memoryMsgChan和diskqueue memoryMsgChan: 这是存放消息的内存,就是一个通道,通道的大小MemQueueSize, 默认配置是10000,也就是如果堆积的消息超过10000就会使用磁盘了 back 阅读全文
posted @ 2021-03-12 10:56 werbenhu 阅读(147) 评论(0) 推荐(0) 编辑
摘要: topic的入口在哪里:GetTopic() GetTopic如果存在则直接返回,不存在则NewTopic() 个人觉得Topic里面有两个重要的变量和一个函数,搞清楚这三个东西就差不多了 memoryMsgChan: 这是存放消息的内存,就是一个通道,通道的大小MemQueueSize, 默认配置 阅读全文
posted @ 2021-03-11 15:31 werbenhu 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 有兴趣可以看看这篇文章 https://www.cnblogs.com/zhangboyu/p/7457070.html 一、队列存储 队列的特征是先入先出,也就是写入是从后面写入,读取是从前面读取 我们平时写的队列一般是放到内存里面,比如一个大的动态数组 这里如果队列中的数据很大,diskqueu 阅读全文
posted @ 2021-03-11 14:34 werbenhu 阅读(183) 评论(0) 推荐(0) 编辑