![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GO
文章平均质量分 50
摔跤吧儿
这个作者很懒,什么都没留下…
展开
-
Docker(1)
更高效的利用系统资源更快速的启动时间一致的运行环境持续交付和部署更轻松的迁移更轻松的维护和扩展对比传统虚拟机总结。原创 2023-11-14 16:56:38 · 387 阅读 · 0 评论 -
日志收集系统 log_transfer实现
kafka;ElasticSearch;golang;日志收集系统;原创 2023-04-14 12:38:35 · 113 阅读 · 0 评论 -
使用golang连接并简单使用ETCD
golang;ETCD;原创 2023-04-13 11:11:08 · 742 阅读 · 0 评论 -
使用golang实现日志收集系统的logagent
日志收集系统;golang;channel;goroutine;tail;kafka;原创 2023-04-13 10:58:11 · 915 阅读 · 0 评论 -
使用golang的tail库,并用go语言简单模拟tailfile功能
停止,当读取完文件err为IO.EOF时,sleep一会,继续死循环,当出现其他错误时才终止循环,所以正常情况下程序会一直等待文件有追加新内容。先创建一个tail.config对象,其中location中的Whence决定相对位置:0为相对文件开头,1为相对当前位置,2为相对文件结尾。之后循环监控tails.Lines,如果文件有新的追加会被监控到,输出在终端。再根据文件路径和config创建一个TailFile对象。tail每次都是从文件结尾开始读取。原创 2023-04-13 10:12:36 · 335 阅读 · 0 评论 -
使用golang连接kafka
在config目录下的server文件和zookeeper文件,其中分别修改kafka的日志保存路径和zookeeper的数据保存路径。,连接kafka,默认端口是9092,发送消息,返回消息存储的partition和offset日志偏移量。这段代码实现了模拟生产者向kafka发送消息的过程,包含:配置生产者,封装消息,消息类型是。先启动kafka自带的zookeeper,在kafka的根目录下打开终端,使用配置文件启动。使用kafka自带的命令行消费者客户端查看kafka中的数据。原创 2023-04-12 22:41:51 · 912 阅读 · 0 评论 -
使用golang的context模拟有超时限制的客户端
创建一个协程用http向服务端发送请求,发挥resp这个channel,之后使用select读取channel中的数据,如果context先超时,就会ctx.Done()先执行,如果没超时respChan中的数据就可以被读取。使用context.WithTimeout构造一个带有超时限制的context。原创 2023-04-12 22:17:40 · 132 阅读 · 0 评论 -
golang goroutine退出的方式? channel context
上述例子会一直等待worker运行,死循环不会主动退出,那我们如何让worker协程退出呢?主要由以下一些办法。原创 2023-04-12 22:12:00 · 468 阅读 · 0 评论