依葫芦画瓢,我用Loki画了个Traefik的面板

前段时间在Loki2.0发布时,更新了一个配套的用LogQL语法绘制Nginx监控面板的Demo。今天小白准备用同样的手法炮制一个基于Traefik日志的监控面板。还不清楚之前Nginx面板操作的同学可以看参考文末后的推荐阅读。 Traefik Traefik是一个用Golang实现的云原生轻量级HTTP反向代理工具。由于它支持配置适配多种后端服务(docker,kubernetes,Mesos,redis)来做动态的路由配置。当前Rancher的边缘产品K3S也默认把Traefik作为默认的I...阅读全文

简书 2021-01-19 12:32:48 云原生小白

Go test和Testify组件

Go test预判工具Testify go test golang编写测试用例时,首先需要建立以_test结尾的go文件,这个文件就是专用的测试文件,使用go test等命令时会执行测试文件中的测试方法。 测试文件中的 一般测试:测试方法名需要以大写的Test开头,参数为*testing.T. func TestSingle(t *testing.T) { t.Log("log here") } 性能测试:测试方法名需要以大写的Benchmark开头,参数为*testing.B. func Be...阅读全文

简书 2021-01-19 12:32:38 新签名

听说没,原来Python抢京东的飞天茅台作者没更新,现在又来了一个Go语言版本的

原文地址: 听说没,原来Python抢京东的飞天茅台作者没更新,现在又来了一个Go语言版本的介绍这些天听说抢茅台挺火的,而且之前有个作者用Python写了一个,好家伙。但是原作者已经销声匿迹了。 现在出现一个使用go语言写的抢茅台脚本。而且听说有人用那个go语言版本的抢到了茅台,也不知道go的作者能够坚持多久。 很多朋友也很不容易,刚学完python的一些安装和使用,现在又不得不学习一下go的安装和使用。 被群里的粉丝催了很多天了,直到今天,抽出了从中午12点到晚上12点的时间,出了一个go语言...阅读全文

Segmentfault 2021-01-21 16:32:35 .container .car 等

用docker-compose快速部署ChirpStack

前提本文使用docker-compose来部署ChirpStack,请确保已经含有以下环境:Git(非必须,可以先下载源码)DockerDocker-compose关于LoraWan Server在讲LoraWan Server之前需要先了解一下LoraWan协议,LoraWan是一种物联网远距离传输协议。引用一句官方的介绍是这样的:LoRaWAN开放规范是基于LoRa技术的低功耗广域网(LPWAN)协议。 协议栈也引用官方的图: 数据是如何从传感器发送到服务器并且被相应的应用处理的呢?可以看下...阅读全文

Segmentfault 2021-01-21 15:32:35 .container .car 等

golang 调度器

今天来讲一下调度器,我本来写了两个版本,后面发现都好像不太好,其实核心差不太多,就是层次不够清晰,然后在度娘上又啃了几篇相关的文章,又进行了综合一下,文章末尾有引用的文章链接。不得不说,大佬们画图还是非常厉害的。其实突然在这个期间发现一些问题:就是markdown模式下的话容易让人看不清重点,最近在找替代简书的地方,有推荐的可以留言推荐 (一)调度器的核心点: 1.复用线程 避免频繁的创建销毁线程,我们知道线程的启停销毁是很耗费性能的一件事情,我们就要reuse thread(线程复用) ,那么...阅读全文

简书 2021-01-18 22:32:45 Stevennnmmm

[系列] Go - 常用签名算法的基准测试

签名验证是为了保证接口安全和识别调用方身份,同时还需要满足以下几点:可变性:每次的签名必须是不一样的。时效性:每次请求的时效性,过期作废。唯一性:每次的签名是唯一的。完整性:能够对传入数据进行验证,防止篡改。签名规则大同小异,根据自己的业务情况进行制定即可。签名过程中我们会用到的几种算法,接下来分享一下每个算法的基准测试,可能会存在误差,供大家参考。MD5 单向散列加密func BenchmarkEncrypt(b *testing.B) { b.ResetTimer() for i := 0;...阅读全文

51CTO博客 2021-01-18 21:22:12 mb6004f7a0e5cc3

LeetCode 1639 -通过给定词典构造目标字符串的方案数

题目题目链接通过给定词典构造目标字符串的方案数给你一个字符串列表 words 和一个目标字符串 target 。words 中所有字符串都 长度相同 。你的目标是使用给定的 words 字符串列表按照下述规则构造 target :从左到右依次构造 target 的每一个字符。为了得到 target 第 i 个字符(下标从 0 开始),当 target[i] = words[j][k] 时,你可以使用 words 列表中第 j 个字符串的第 k 个字符。一旦你使用了 words 中第 j 个字符串...阅读全文

Segmentfault 2021-01-21 15:32:34 .container .car 等

Golang指针的使用限制和unsafe.Pointer的突破之路

大家好呀,今天想在这篇文章里好好跟大家聊一下 Go 语言指针这个话题,相较于 C 而言,Go 语言在设计时为了使用安全给指针在类型和运算上增加了限制,这让Go程序员既可以享受指针带来的便利,又避免了指针的危险性。除了常规的指针外,Go 语言在 unsafe 包里其实还通过 unsafe.Pointer 提供了通用指针,通过这个通用指针以及 unsafe 包的其他几个功能又让使用者能够绕过 Go 语言的类型系统直接操作内存进行例如:指针类型转换,读写结构体私有成员这样操作。网管觉得正是因为功能强大...阅读全文

51CTO博客 2021-01-18 19:52:58 mb6004f6df2b07a

etcd包导入坑

测试案例上导入的是 go.etcd.io/etcd/clientv3 , 但是go.etcd.io/etcd/clientv3 无法go get, 会timeout。 这个时候会选择在github.com拉取github.com/etcd-io/etcd, 然后进行测试就会发现进入另一个坑,会报错 错误一: ``` $GOPATH/src/go.etcd.io/etcd/clientv3/balancer/picker/err.go:25:9: cannot use &errPicker lit...阅读全文

简书 2021-01-18 17:32:41 breezesong

Gfast 工作流引擎 1.0 开源发布

Gfast管理系统采用go语言开发,基于GF(Go Frame)的后台管理系统,现增加工作流引擎模块开源发布,实现工作流引擎与业务解绑,不同业务数据均可接入,以业务数据驱动的状态机机制,让系统更具可用性,智能应用型,便捷设计性。主要特性基于 jsPlumb 可视化设计流程图,接入element-ui前后分离模式,数据与界面分开便于管理和维护,设计器已封装为组件,既可单独将流程设计器使用在其他基于element-ui的前端项目的系统。支持可视化界面设计,支持拖拽式流程绘制,支持节点属性设置可支持工...阅读全文

Go语言中文网 2021-01-18 17:13:45 kocie

Golang 多版本管理工具 —— gvm | 七日打卡

Why早期,Golang 版本及包管理令人痛苦。1.11 之后 go mod 的出现支持了包管理,但不同项目下若要求不同的 Golang 版本,我们如何处理?WhatGVM - Go Version Manager, 帮助我们解决了这一难题。github.com/moovweb/gvm本文仅对 mac/linux 系统;windows gvm 请查阅官网,应该也差不多gvm 原理gvm 是利用脚本编写指令,对环境变数进行判断跟修改,gvm 成功安装后会在 ~/.bashrc 或者 .zshrx ...阅读全文

51CTO博客 2021-01-18 16:22:22 mb6004f6df2b07a

Golang实现PHP常用函数

go-to-php用Golang封装PHP常用的函数,为了区分PHP与Go中的函数,go-to-php封装的函数,都是在对应的PHP函数的前面加上大写的P。Pallord函数除外。相关代码点击github安装字符串相关包go get -u github.com/Echo-Mr-Pengw/go-to-php/str数组相关包开发中.......字符串相关函数go-to-php封装函数对应的PHP函数Pimplode(glue string , pieces interface{}) string...阅读全文

Segmentfault 2021-01-21 13:32:32 .container .car 等

dubbo-go 白话文 | 从零搭建 dubbogo 和 dubbo 的简单用例

作者 | 铁城 dubbo-go 社区 committer来源|阿里巴巴云原生公众号本文将手把手教你使用 dubbogo 调用 dubbogo 或 dubbo 提供的服务提供方。前言本文基于 dubbogo 1.5.4 版本。最近开始参与 dubbogo 的一些开发测试,之前都是直接拿 samples 的例子验证功能,而这次为了复现一个功能问题,打算从零开始搭建一个 dubbo-go 和 dubbo 调用的工程,踩到了一些新人使用 dubbogo 的坑,把这个过程记录下供大家参考。通过本文你可以...阅读全文

Segmentfault 2021-01-21 11:32:34 .container .car 等

运维不是修电脑!月薪30K的高级运维告诉你,学会这些就能逆袭

提起数据运维,大部分人的第一印象都是:运维=修电脑+接网线+连监控+打扫机房卫生+背锅其实这都是圈外人对运维的刻板印象,无论你是个刚入职没几个月的行业新人,还是在行业里摸爬打滚了好几年的“老鸟”。你都面对着同样残酷的一个现实:这是一个高速发展的行业,任何肚子里没有实货的技术人员都会被这个圈子所淘汰。那么,做运维的你,最终的出路到底在哪里呢?到底怎么样才能出人头地,拿到一个年薪百万的Offer?我给你列一个比较全的互联网运维工程师的能力框架,这里的运维不包含idc运维、企业it运维这些,linux...阅读全文

简书 2021-01-18 14:35:07 大数据的那些事

Golang组件化网络服务器框架Halia指南

写在前面在netty框架面世之前,几乎没有一个成熟的OOP/组件化规范指导网络服务器开发,一些常用的FrameDecoder,BusinessHandler等等组件紧密耦合在了项目当中,整个项目可以说扩展性比较差。netty的出现可以说是划时代的,基于OOP/组件化屏蔽了底层 BlockingIO/NonBlockingIO/AsynchrousIO之间的差异,各种组件可以无缝切换,网络服务器开发效率有了非常大的提高。通过阅读netty源码,以及核心组件的架构,基于Golang进行了实现,至此,...阅读全文

51CTO博客 2021-01-18 13:24:03 mb6004f6df2b07a

Golang组件化网络服务器框架Halia指南

写在前面在netty框架面世之前,几乎没有一个成熟的OOP/组件化规范指导网络服务器开发,一些常用的FrameDecoder,BusinessHandler等等组件紧密耦合在了项目当中,整个项目可以说扩展性比较差。netty的出现可以说是划时代的,基于OOP/组件化屏蔽了底层 BlockingIO/NonBlockingIO/AsynchrousIO之间的差异,各种组件可以无缝切换,网络服务器开发效率有了非常大的提高。通过阅读netty源码,以及核心组件的架构,基于Golang进行了实现,至此,...阅读全文

51CTO博客 2021-01-18 13:23:28 mb6004f6df2b07a