分类: Golang

共 17 篇
Golang
Go & ES7.4速学:Kibana 的部署,并加入第一条索引数据

在上一篇博文中,我们通过 curl 请求项 es 中添加了一条索引,提交数据的本质也是发送 http 请求。不过我们使用 curl 发送请求的时候没有提示,接下来我们使用 kibana 来提交数据。 目前大多数开发者应该都听说过 elk,e 就是es,其中的 k,就是 kibana ,一款为 es 设计的可视化工具,我…

4 分钟 · 16 次阅读
Golang
Go & ES7.4 速学:快速部署、Go SDK、 Mapping

快速部署 这里为了方便直接使用 Docker,官方镜像是 CentOS 镜像,不够美丽,因此我们使用了第三方的镜像,体积比较小,适合我们在学习过程中快速部署。 下载好后修改 tag,不然太长了 运行 ES。 如果我们是在虚拟机中使用 docker 那么内存尽量要大了一点,至少 有 4G 的内存。 执行 curl 看一下…

3 分钟 · 13 次阅读
Golang
Go 是 nil 却 !=nil

我们来看上面的代码,我们的第一反应应该是输出两个 nil,但事实上并非如此。我们来在 for 循环中输出 item。 item 的两个输出的确是 nil ,因为我们只是定义了两个变量却没有对变量进行复制,所以他的值肯定就是 nil,但是为什么在判断的时候确认为他们不是 nil 呢? 首先,我们要知道 fmt.Print…

2 分钟 · 19 次阅读
Golang
GO 函数执行超时控制如何写?

请求时间过长,用户侧可能已经离开本页面了,服务端还在消耗资源处理,得到的结果没有意义,同时过长时间的服务端处理会占用过多资源,导致并发能力下降,甚至出现不可用事故,一般一个请求是由多个串行或并行的子任务来完成的,每个子任务可能是另外的内部请求,那么当这个请求超时的时候,我们就需要快速返回,释放占用的资源,比如gorou…

1 分钟 · 21 次阅读
Golang
Go 限制协程执行的基本方法

问题定义 很多人在做程序的时候在启动 Goroutine 的时候并没有限制其执行的数量,如果任务只有 100 个,1000 、10000 个 其实都没有问题,但是如果你执行任务非常耗时,而且数量特别大,在不断的开 Goroutine 的时候很有可能就崩溃了。 在服务器上执行任务的时候是需要限制执行数量的,如果超过设置的…

3 分钟 · 23 次阅读
Golang
Go Etcd 开发简易的配置中心

在这篇文章中,我们将介绍利用 Confid 配合 Etcd 来完成建议配置中心。 随着服务越来越多每个服务都是一个独立的项目,在项目中可能会涉及到数据库和一些配置,如果这些配置一旦发生改变了那我们就可能到服务器上进行修改,然后重启服务,如果服务只有一两个,那么没有必要使用配置中心。 如果服务有几十个,甚至上百个,我们就…

5 分钟 · 13 次阅读
Golang
Go Etcd 开发简易的注册中心

什么是 ETCD Etcd 是 CoreOS 基于 Raft 开发的分布式 keyvalue 存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。 在分布式系统中,如何管理节点间的状态一直是一个难题, etcd 像是专门为集群环境的服务发现和注册而设计,它提供了数据 TTL 失效、数据改变监视、多…

16 分钟 · 32 次阅读