微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

 分类:go

Go Context的使用

控制并发有两种经典的方式,一种是WaitGroup,另外一种就是Context WaitGroup的使用 WaitGroup可以用来控制多个goroutine同时完成 func main() { var wg sync.WaitGroup wg.Add(2) g...

2天前 1℃ 0评论

go-rpc的tcp调用

go-rpc的tcp调用
了解完了RPC技术的组成结构我们来看一下具体是如何实现客户端到服务端的调用的。实际上,如果我们想要在网络中的任意两台计算机上实现远程调用过程,要解决很多问题,比如: 两台物理机器在网络中要建立稳定可靠的通信连接。 两台服务器的通信协议的定义问题,即两台服务器上的程序如何识别对方...

2周前 (11-15) 2℃

彻底搞懂etcd raft选举、数据同步

彻底搞懂etcd raft选举、数据同步
两个比较好的连接: https://raft.github.io/raftscope/index.html http://thesecretlivesofdata.com/raft/#election   etcd 是一个分布式的k/V存储系统。核心使用了RAFT分布式...

4周前 (11-05) 3℃

用 etcd/raft 组建能够选举的最简集群 demo

当今互联网行业中,对于分布式一致性算法,个人觉得实用性最高并且应用最广泛的就是 Raft 算法了。Raft 非常适合用于所有的节点均为可信节点时的必要数据同步场景中。Raft 的基本原理理解起来并不难,网上很多文字简介,都不如一个很生动的动画来得直观。 etcd/raft 在 K...

4周前 (11-05) 3℃

Nacos与Raft (一)选举

Nacos与Raft (一)选举
Raft,分布式共识算法,是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。如redis-sentinel,etcd等都使用raft协议解决分布式一致性的问题。 nacos注册中心是阿里巴巴贡献的开源项目,兼具服务注册发现、动态配置管理、动态dns等功能。nacos集...

4周前 (11-05) 1℃

分布式算法之选举算法Raft

分布式算法之选举算法Raft
3种状态:Leader(领袖)Follower(群众)Candidate(候选人)。 规则:群众发起投票成为候选人,候选人得到大多数票至少(n/2)+1,才能成为领导人,(自己可以投自己,当没有接受到请求节点的选票时,发起投票节点才能自己选自己),领导人负责处理所有与客户端交互,...

4周前 (11-02) 3℃

Golang 性能大杀器之性能剖析 PProf

前言 写了几吨代码,实现了几百个接口。功能测试也通过了,终于成功的部署上线了 结果,性能不佳,什么鬼?😭 想做性能分析 PProf 想要进行性能优化,首先瞩目在 Go 自身提供的工具链来作为分析依据,本文将带你学习、使用 Go 后花园,涉及如下: runtime/ppr...

4周前 (11-02) 3℃

go+etcd+grpc服务发现和调用

package main /** go+etcd+grpc服务发现和调用,,etcd集群 */ import ( "google.golang.org/grpc" "context" "log" "time" "strconv" ...

1个月前 (10-22) 2℃

Go语言十大主流微服务框架及相关

以下 star数截止2021年10月份 1.istio 项目简介:Istio是由Google、IBM和Lyft开源的微服务管理、保护和监控框架。使用istio可以很简单的创建具有负载均衡、服务间认证、监控等功能的服务网络,而不需要对服务的代码进行任何修改。 仓库地址:htt...

1个月前 (10-20) 2℃

getset原子性 redis_redis,zookeeper,etcd是怎样实现分布式锁的

前面我们介绍了下锁的基本概念,这篇文章主要介绍下Redis、Zookeeper、etcd怎么来实现分布式锁。 Redis redis主要是通过setnx、get、getset、del命令来完成加锁,抢锁和释放锁的操作的,这里我用两个客户端来模拟下加锁的过程。 1、客户端1使用se...

1个月前 (10-18) 3℃

主要使用ETCD来实现服务注册和服务发现

主要使用ETCD来实现服务注册和服务发现
ETCD集群搭建参考https://www.jianshu.com/p/690d8adcb8c6 为什么使用grpc前要实现服务发现、服务注册? 考虑微服务水平拓展较为容易,grpc包本身没有提供服务发现和服务注册,那么在使用过程中,对应的rpc只能通过nginx等服务去进行负...

1个月前 (10-18) 1℃

go-micro+gin+etcd微服务实战之服务注册与发现

go-micro+gin+etcd微服务实战之服务注册与发现
在构建微服务时,使用服务发现可以减少配置的复杂性,本文以go-micro为微服务框架,使用etcd作为服务发现服务,使用gin开发golang服务。 使用gin 的原因是gin能够很好的和go-micro进行集成。 本文主要介绍服务注册和发现的...

1个月前 (10-18) 1℃

golang用etcd实现服务注册和发现

系统中实现服务注册与发现所需的基本功能有 服务注册:同一service的所有节点注册到相同目录下,节点启动后将自己的信息注册到所属服务的目录中。 健康检查:服务节点定时发送心跳,注册到服务目录中的信息设置一个较短的TTL,运行正常的服务节点每隔一段时间会去更新信息的TTL。 服...

1个月前 (10-18) 1℃

go分布式

  go分布式: https://blog.csdn.net/sureSand/article/details/79826416 https://blog.csdn.net/qq_25490573/article/details/107287198   etc...

8个月前 (04-06) 3℃

Golang 推荐的命名规范

Golang 推荐的命名规范 很少见人总结一些命名规范,也可能是笔者孤陋寡闻, 作为一个两年的golang 开发者, 我根据很多知名的项目,如 moby, kubernetess 等总结了一些常见的命名规范。 命名规范可以使得代码更容易与阅读, 更少的出现错误。 如有不同意见欢迎...

8个月前 (03-30) 2℃

构建微服务的十大 Go 框架/库 polarisxu Go语言中文网

构建微服务的十大 Go 框架/库 polarisxu Go语言中文网
现在,很多开源库都支持构建应用程序。我应该向你推荐一些库,它们可以帮助启动具有简单设计、干净代码和良好性能的项目。 01 CLI 命令(spf13/cobra) 你想要构建一些 CLI 命令吗? Cobra 既是一个用于创建强大的现代 CLI 应用程序的库,也是一个用于生成应...

9个月前 (03-04) 4℃

Golang开发新手常犯的50个错误

《50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs》 原文地址:http://devs.cloudimmunity.com/gotchas-and-common-mistakes-i...

11个月前 (12-29) 6℃

Golang精编100题

能力模型 级别 模型 初级 primary 熟悉基本语法,能够看懂代码的意图; 在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范; 中级 intermediate 能够独立完成用户故事的开发和测试; 能够嗅...

11个月前 (12-29) 2℃

Golang精编100题

能力模型 级别 模型 初级 primary 熟悉基本语法,能够看懂代码的意图; 在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范; 中级 intermediate 能够独立完成用户故事的开发...

11个月前 (12-29) 1℃

Golang开发新手常犯的50个错误

《50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs》 原文地址:http://devs.cloudimmunity.com/gotchas-and-common-mis...

11个月前 (12-29) 1℃

Golang build 填坑笔记

从一个bug说起 bug描述 在尝试用docker的alpine镜像运行从golang镜像中编译出来的可执行文件时出现如下的错误 standard_init_linux.go:211: exec user process caused "no such file...

11个月前 (12-29) 2℃

为什么 Go 无法满足我们的目标

为什么 Go 无法满足我们的目标
Go 为什么无法满足咱们的需求,咱们首先需求讨论数据结构、规模、拜访模式以及服务架构。 咱们用来存储读取状况信息的数据结构被简洁地称为“Read State”。Discord 稀有十亿的 Read State。每个用户(User)的每个频道(Channel)都有一个 Read S...

2年前 (2020-02-17) 43℃

Go语言入门教程,Golang入门教程(非常详细)

第1章 Go语言简介 1.Go语言简介 2.Go语言的特性 3.Go语言为并发而生 4.哪些项目使用Go语言开发? 5.哪些大公司正在使用Go语言 6.Go语言适合做什么 7.Go语言和其它编程语言的对比 8.Go语言的性能如何? 9.Go语言标准库强大 10.Go语言上手简单...

2年前 (2020-01-26) 39℃

Go语言入门教程,Golang入门教程(非常详细)

Go语言入门教程,Golang入门教程(非常详细)
Go语言入门教程,Golang入门教程(非常详细) Go语言也称 Golang,兼具效率、性能、安全、健壮等特性。这套Go语言教程(Golang教程)通俗易懂,深入浅出,既适合没有基础的读者快速入门,也适合工作多年的程序员查阅知识点。 这套教程在讲解一些知识点时,将 Go 语言...

2年前 (2020-01-19) 46℃