- 博客(71)
- 资源 (2)
- 收藏
- 关注
原创 基于golang多消息队列中间件的封装nsq,rabbitmq,kafka
golang的接口是一种抽象类型,是对其他类型行为的概括与抽象,从语法角度来看,接口是一组方法定义的集合,文本的封装使用了golang接口这一特性,把所有的消息队列中间件抽象为一个MQer拥有生产和消费两个方法,具体的各个消息队列中间件去实现这两个方法即可,最明显的优点在于扩展性,解耦性,选择性,维护性这几个表象上。
2023-08-03 10:15:58 1714
原创 docker config.json: no space left on device: unknown 解决方案
dump文件一般是程序或者系统用于缓存内存内容的临时文件,如果不需要,是可以删除的。Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如WinDbg。今天打包push程序遇到了 docker config.json: no space left on device: unknown这个问题,经过研究整理了解决方案。遇到 /usr/bin/rm: 参数列表过长 怎么解决?ulimit -s 指定栈上的内存上限,单位为KB。这个问题是由与 /run 的空间使用完了。
2023-05-12 10:15:18 359
原创 《gathertool开发使用文档》
Date : 2023-03-28Author : ManGeMail : 2912882908@qq.comGithub : https://github.com/mangenotwork/gathertoolgo get github.com/mangenotwork/gathertoolgathertool是一个高度封装工具库,包含了http/s的请求,Mysql数据库方法,数据类型处理方法,数据提取方法,websocket相关方法,TCP|UDP相关方法,NoSql相关方法,开发常用方法等; 可
2023-03-31 14:57:19 522
原创 使用redis做分布式锁
运行结果如果突然服务器宕机,那么必然造成锁无法释放,即造成死锁?解决方案:设置超时时间。加锁和设置超时时间中间引起服务器宕机,则一样会导致死锁。解决方案:原子性操作,即同时加锁和设置超时时间;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-14Tju5bW-1670470670608)(http://mange1.oss-cn-beijing.aliyuncs.com/test/a8ea5c06b619cb643a891497b15aee86.png#pic_center
2022-12-08 11:39:15 390
原创 grpc拦截器实践
grpc提供了拦截器,可以使用拦截器开发grpc中间件,实现各种中间功能。 比如: 日志采集,认证 等Server端核心方法: streamInterceptorClient端核心方法: unaryInterceptorcc.GetState()以下方法可以获取客户端地址完整实例代码地址:https://github.com/mangenotwork/man/tree/master/core/grpc_1
2022-12-08 11:36:40 376
原创 grpc自带负载均衡实例
核心 : “google.golang.org/grpc/resolver”server端client端代码地址https://github.com/mangenotwork/man/tree/master/core/grpc_2
2022-12-08 11:34:56 556
原创 grpc流模式的实例
grpc中的stream,srteam顾名思义就是一种流,可以源源不断的推送数据,或者服务端和客户端长时间数据交互。Server端实现Client端实现最后可以在实际业务中灵活使用,根据漫哥的经验可以按照需求进行设计数据在各个子服务中的流向;
2022-12-08 11:32:08 781
原创 linux下使用imagemagick将PDF拆分为图片
使用: convert -density 250 -quality 100 河北省2021年历史组合分数分布统计.pdf hb_nishi.jpgdensity 200 : 图像每英寸面积内的像素点数,数值越高图片质量越高quality 100 : 这个为转换图片时的压缩率,0-100之间
2022-12-08 11:30:50 422
原创 grpc python的使用与golang交互
grpc python的使用与golang交互使用:新建一个 msg.proto 文件。生成接口代码就会看到两个py文件: 和 python 创建客户端与golang交互python 可以通过grpc与golang交互, 推拉数据; 注意的是需要维护好 proto文件;
2022-12-06 15:58:54 241
原创 golang操作ES
目前golang操作elasticsearch的第三方包中最流行的是:https://github.com/olivere/elastic7.x 7.0 github.com/olivere/elastic/v76.x 6.0 github.com/olivere/elastic5.x 5.0 gopkg.in/olivere/elastic.v5例如:ES版本是7.0以后的版本,就使用github.com/olivere/elastic/v7这个包地址。
2022-12-06 15:55:15 1262
原创 golang实现html获取指定位置的Dom
核心使用 “golang.org/x/net/html” 的html.Node来实现,先用html.Parse方将html解析为数结构,然后迭代匹配节点;代码在 https://github.com/mangenotwork/gathertool内置了很多实用的实现
2022-12-06 15:50:13 576
原创 solr安裝實踐
Solr 是一个独立的企业搜索服务器,具有类似 REST 的 API。您可以通过 JSON、XML、CSV 或 HTTP 上的二进制文件将文档放入其中(称为“索引”)。您通过 HTTP GET 查询它并接收 JSON、XML、CSV 或二进制结果。https://solr.apache.org/features.htmlhttps://solr.apache.org/guide/solr/latest/getting-started/introduction.html啓動鏡像下載中文分詞 ik
2022-12-06 15:44:42 257
原创 golang 固定顺序map
golang的map是无序的,但有些业务场景需要有序的map来实现需求用一个切片来记录key的顺序测试总结我的开源库 https://github.com/mangenotwork/gathertool 有大量的业务实现方案,感兴趣的可以去看看,可以与我沟通和交流学习
2022-12-06 15:42:16 896
原创 基于golang操作Docker
github.com/docker/dockerhttps://docs.docker.com/engine/api/sdk实例: https://docs.docker.com/engine/api/sdk/examples/在[Service]部分,修改ExecStart参数,在最后增加-H tcp://0.0.0.0:2375查看是否成功 curl http://localhost:2375/version如果不能访问,可能是因为防火墙的原因,所以开放防火墙2357端口Doc
2022-12-06 15:39:50 2279
原创 基于golang的Json选择器
json 例子:如上面的json,要选择出future的第一个的date的值,输出: 2022/07/29 10:23:08 2021-10-25 < nil >输出
2022-12-06 15:27:35 444
原创 raft算法练习-模拟三节点的分布式选举
Raft是一个用于管理日志一致性的协议。它将分布式一致性分解为多个子问题:Leader选举(Leader election)、日志复制(Log replication)、安全性(Safety)、日志压缩(Log compaction)等。同时,Raft算法使用了更强的假设来减少了需要考虑的状态,使之变的易于理解和实现。Raft将系统中的角色分为领导者(Leader)、跟从者(Follower)和候选者(Candidate):Leader:接受客户端请求,并向Follower同步请求日志,当日志同步到大多数节
2022-12-06 15:14:45 311
原创 raft算法练习-UDP通讯进行分布式选举
上一篇文章 “raft算法练习-模拟三节点的分布式选举” ( https://mange.work/blog?id=53 )是基于rpc通讯的,这篇文章将通讯协议改为udp进行实现;UDP的优点:快,比TCP稍安全UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击……UDP的缺点:不可靠,不稳定因为UDP没有TCP那
2022-12-06 15:11:11 423
原创 ManGe Commander 文档 v0.3
ManGe Commander 是轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、操作、监控的解决方案,支持服务器在线终端,同时集成了Docker,Nginx等在线管理,支持快速部署网络代理和网络转发。功能架构: 采用master/slave机制,master一对多的管理slave,为了高可用master支持集群;
2022-11-29 15:45:22 303
原创 golang爬虫练习-抓取行业信息分类
gathertoolgathertool是golang脚本化开发库,目的是提高对应场景程序开发的效率;轻量级爬虫库,接口测试&压力测试库,DB操作库等。地址:下载: go get github.com/mangenotwork/gathertool库文档:使用gathertool能很规范化抓取程序的编写,提供配置,请求,提取,保存;特别是提取,使用 gt.GetPointClassHTML 快速定位到数据Dom范围,再使用gt.RegHtmlATxt获取到具体数据;
2022-11-22 09:57:47 361
原创 一键部署网络转发
Commander是轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、 操作、监控、在线终端的解决方案,同时集成了Docker管理;官网: http://commander.mange.work/安装使用教程: https://www.bilibili.com/video/BV1se4y177BF/使用文档: https://mange.work/blog?id=57交流群: https://mange.work/blog?id=56。
2022-11-13 14:48:52 268
原创 节约中小企业运维成本方案
分享一款运维工具,可以为中小企业节约运维成本,这个工具就是Commander,它是轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、 操作、监控、在线终端的解决方案,同时集成了Docker管理;安装使用教程: https://www.bilibili.com/video/BV1se4y177BF/使用文档: https://mange.work/blog?交流群: https://mange.work/blog?官网: http://commander.mange.work/
2022-11-13 14:46:56 795
原创 国产运维工具Commander
国产运维工具Commander是轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、 操作、监控、在线终端的解决方案,同时集成了Docker管理;安装使用教程: https://www.bilibili.com/video/BV1se4y177BF/使用文档: https://mange.work/blog?交流群: https://mange.work/blog?官网: http://commander.mange.work/
2022-11-13 14:44:37 1140
原创 国产CI/CD工具Commander
Commander是一款轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、 操作、监控、在线终端的解决方案,同时集成了Docker管理;下面演示 CI/CD访问 192.168.0.9:12225查看容器列表, 可以看到项目所有容器的信息。
2022-11-13 14:41:41 676
原创 服务器管理平台
分享一个轻量级服务器管理平台那就是Commander, 它是一款轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、 操作、监控、在线终端的解决方案,同时集成了Docker管理;安装使用教程: https://www.bilibili.com/video/BV1se4y177BF/使用文档: https://mange.work/blog?交流群: https://mange.work/blog?官网: http://commander.mange.work/
2022-11-13 14:37:06 747
原创 在线监控服务器
使用国产前轻量级服务器管理工具可以进行监控服务器,还可以对docker容器进行监控,如下图。commander官网: http://commander.mange.work/希望这个分享给大家带来帮助。
2022-11-13 11:53:16 243
原创 在线一键安装部署Docker
在commander上点击一个按钮就在服务器上部署安装了docker,真的和方便,不需要ssh到服务器。commander官网: http://commander.mange.work/
2022-11-13 11:48:40 393
原创 Commander(指挥官)介绍
Commander 官网 : http://commander.mange.work/教学视频 : https://www.bilibili.com/video/BV1se4y177BF/使用文档: https://mange.work/blog?id=57交流群: https://mange.work/blog?id=56。
2022-11-11 15:24:40 1003
原创 在线服务器终端工具
给大家介绍一款在线终端工具,能在线连接服务器进行操作,并且还可以在线管理服务上的Docker,能在线实时监控服务器,工具演示图如下:
2022-11-11 15:15:59 467
原创 轻量级运维工具Commander
Commander 是轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、操作、监控、在线终端、远程部署的解决方案,同时集成了Docker管理。官网 : http://commander.mange.work/
2022-11-11 15:08:13 517
原创 ManGe Commander 文档 v0.2
ManGe Commander 是轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、操作、监控的解决方案,同时集成了Docker管理。功能架构: 采用master/slave机制,master一对多的管理slave,为了高可用master支持集群;master: 主要功能是提供操作界面(web UI),分发任务到slave,收集并分析slave上报的采集服务器数据进行监控,下发服务器的操作指令,网络地址注册中心等。
2022-11-11 14:46:21 389
原创 golang爬虫框架 gathertool开发文档
gathertool是基于golang的爬虫框架和接口&压力测试框架,目的是为了提高对应场景的开发效率。
2022-06-02 11:17:05 456
原创 golang实现http&https代理服务器
golang实现http&https代理服务器效果图:实现package mainimport ( gt "github.com/mangenotwork/gathertool" "log")func main(){ ipt := >.Intercept{ Ip : "0.0.0.0:8111", HttpPackageFunc: func(pack *gt.HttpPackage){ // 查看 ContentType log.Println
2022-05-26 15:53:11 1361
转载 基于golang常用加密解码的封装
AES : 高级加密标准;AES的区块长度固定为128 比特,密钥长度则可以是128,192或256比特;type AES interface { Encrypt(str, key []byte) ([]byte, error) Decrypt(str, key []byte) ([]byte, error)}DES : 数据加密标准,是一种使用密钥加密的块算法type DES interface { Encrypt(str, key []byte) ([]byte, error.
2022-04-07 10:59:48 715
原创 golang实现前缀数实现匹配路由和获取路由参数
前缀树又称单词查找树,字典树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。需求定义使用前缀树 匹配路由提取路由上的参数规则: 定义路由/v1/{a},其中a就是参数名,请求路由/v1/123,那么a=123可以定义多个参数, 如: 定义路由/v1/{a}/{b}/{c},其中就有 a,
2021-09-28 18:13:35 1417
excel增删改查功能的封装
2018-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人