05 2020 档案
摘要:本文讲解gRPC接入etcd,实现服务注册与服务发现。需要先安装Go语言的etcd客户端包: go get go.etcd.io/etcd/clientv3 然后就可以开始操作一波了。说明:以下代码需要根据实际代码位置对import语句内容进行微调。我的目录结构:$GOPATH/src/go-git
阅读全文
摘要:一、etcd是什么 etcd是一个分布式的、高可用的、一致的key-value存储数据库,基于Go语言实现,主要用于共享配置和服务发现。 二、为什么需要etcd 在分布式系统中,各种服务配置信息的管理共享和服务发现是一个很基本也是很重要的问题。etcd可集中管理配置信息,服务端将配置信息存储于etc
阅读全文
摘要:本文主要是Go语言调用NSQ的简单实践,demo分为两部分:生产者和消费者。 生产者: /** * nsq demo - 生产者 * author: JetWu * date: 2020.05.06 */ package main import ( "fmt" nsq "github.com/nsq
阅读全文
摘要:NSQ中文文档:https://wiki.jikexueyuan.com/project/nsq-guide/ 一、简介NSQ是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消
阅读全文
摘要:本文是gRPC的简介与实践,介绍内容主要有gRPC本身,以及gRPC默认使用的数据交换格式protobuf,最后提供一个简单版本的gRPC demo。 一、gRPC是什么 gRPC是Google开源的RPC实现,基于最新的HTTP2.0协议,并支持常见的众多编程语言。gRPC客户端和服务端可以在多种
阅读全文
摘要:本文是RPC的简介与实践,首先介绍一下RPC的概念与原理,接着介绍一下Go语言对RPC的支持,最后提供一个Go语言原生RPC的简单demo。 一、RPC是什么 RPC,全称:Remote Procedure Call,中文翻译:远程过程调用。 RPC是一种技术思想,而非规范或协议,它指的是,本地计算
阅读全文