kafka的go版本api介绍及使用示例

一、概述 go语言版本的kafaka API,使用sarama和sarama-cluster包,支持offset追踪。生产和消费的过程,都是通过设置一个配置结构体开始的。并发量小时,可以用同步生产者,但是并发量大时,必须使用异步生产者。 1.1 安装依赖库sarama go get gith...

2019-06-20 20:37:41

阅读数 26

评论数 0

golang实战------翻转字符串和整数

最近研究了下golang翻转字符串和整数的实现,感觉还挺有意思的。 代码如下所示: package main import ( "fmt" ) func main() { var str1 = "hello" str2 := "wo...

2019-05-17 18:13:33

阅读数 19

评论数 0

Go实战--获取公网ip、查看内网ip、检测ip类型、校验ip区间、ip地址string和int转换、根据ip判断地区国家运营商

一、简要介绍net包 1. func ParseIP func ParseIP(s string) IP ParseIP parses s as an IP address, returning the result. The string s can be in dotted decim...

2019-05-10 14:32:42

阅读数 24

评论数 0

mac下安装grpc protobuf

一、前言 这两天想研究一下grpc的Protobuf,于是在自己的mac电脑上进行尝试。把过程记录下来,给有需要的同学参考下,大家共同进步。 参考grpc官网:https://grpc.io 二、下载grpc代码包 使用dep包管理工具直接下载grpc代码包,命令为: dep ensu...

2019-04-22 18:01:29

阅读数 75

评论数 0

golang使用sort包排序

1. sort包简介 sort包实现了四种基本排序算法:插入排序、归并排序、堆排序和快速排序。 但是,这四种排序方法不是公开的,它们只在sort包内部被使用。所以,在对数据集合排序时,不必考虑应当选择哪一种排序方法,只要实现了sort.Interface定义的三个方法,就可以顺利对数据集合进行排...

2019-03-22 16:10:22

阅读数 40

评论数 0

理解Go的Context机制

1. 什么是Context 最近在分析gRPC源码,proto文件生成部分的代码,接口函数的第一个参数统一是ctx context.Context,对这种设计甚是迷惑,于是找些资料,对其背后的原理一探究竟。 Context通常被译作上下文,它是一个比较抽象的概念,一般理解为“程序单元的一个运行...

2019-01-21 15:21:25

阅读数 376

评论数 0

golang map中结构体元素是无法取地址的

map中的结构体元素是无法取地址的,即:map[string]struct类型,取&map["tmp"]是错误的。会提示报错: cannot assign to struct field elem["count"].count in ma...

2019-01-16 14:51:36

阅读数 534

评论数 0

golang日志库logrus的安装和使用

一、安装logrus 执行如下命令,即可按照logrus go get github.com/sirupsen/logrus 如果无法访问 golang ,那么可以先 clone github.com/golang的源码,然后生成 cd $GOPATH/src/golang.org/x...

2018-12-16 19:10:38

阅读数 632

评论数 0

golang之logrus日志框架

一、golang日志库        1.1 golang日志库简介          golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数。对于更精细的日志级别、日志文件分割,以及日志分发等方面,并没有提供支持。所以,催生了很多第三方的日志库。但是,在g...

2018-12-13 16:28:40

阅读数 1375

评论数 0

github.com/spf13/viper go viper包介绍

什么是Viper? Viper是一个Go应用程序完整的配置文件解决方案,包括12-Factor应用程序。它被设计为:在应用程序中工作,可以处理所有类型的配置需求和格式。它支持: 设置默认值 从JSON,TOML,YAML,HCL和Java属性配置文件中读取 实时观看和重新读取配置文件(可选...

2018-12-08 11:40:14

阅读数 256

评论数 0

golang redis客户端

前言: golang操作redis主要有两个库,go-redis和redigo。两者操作都比较简单,区别是:redigo更像一个client,执行各种操作都是通过Do函数去做的;redis-go对函数的封装更好。golang官方推荐使用redigo,所以项目中我使用了redigo。   1. ...

2018-12-06 20:57:36

阅读数 113

评论数 0

IDE Goland DEBUG报错(could not launch process: decoding dwarf section info at offset 0x0: too short)

背景: 在升级GO版本到1.11后发现Goland的Debug报错,如下:could not launch process: decoding dwarf section info at offset 0x0: too short。 原因: Goland的dlv不是新版本,导致不能debug...

2018-11-22 14:41:38

阅读数 768

评论数 0

C++和go实现轮询调度算法(Round-Robin Scheduling)

在多台机器实现负载均衡的时候,经常用到轮询调度算法(Round-Robin Scheduling)。 轮询调度算法就是:以循环的方式,依次将请求调度到不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。 算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它...

2018-11-11 19:10:22

阅读数 354

评论数 0

Go工具集

go工具集 一、go build -gcflags: 传递给编译器的参数 -ldflags: 传递给链接器的参数 -work: 查看编译临时目录 -race: 允许数据竞争检测(仅支持amd64) -n: 查看但不执行编译指令 -x: 查看并执行编译命令 -a: 强制重新编译所有依赖...

2018-10-25 11:06:29

阅读数 69

评论数 0

Go解析命令行参数(flag包)

在写命令行程序(工具、server)时,对命令行参数进行解析,是一种常见的需求。各种语言一般都会提供相应的方法或库,以方便开发者使用。在go标准库中提供了一个包:flag,方便进行命令行解析。也就是说,Go的flag包用来解析命令行参数。  一、命令行flag语法形式 命令行flag的语法有如...

2018-08-23 16:12:23

阅读数 550

评论数 0

NSQ 安装指南

NSQ 安装指南 假设我们的服务器按照下面要求编排。 nsqlookup 集群列表 192.168.234.77 192.168.234.36 192.168.234.39 nsq 节点 192.168.234.117 192.168.234.118 nsqadmin 节点 1...

2018-05-20 12:13:38

阅读数 218

评论数 0

nsq多播分发和负载均衡实验

什么是nsq?请参考实时分布式消息平台nsq。 本地如何搭建nsq?请参考本地搭建nsq经验分享。 从NSQ的设计文档中得知,单个nsqd被设计为一次能够处理多个流数据,NSQ中的数据流模型是由stream和consumer组成。Topic是一种独特的stream,Channel是一个订阅了给...

2018-05-19 16:48:37

阅读数 642

评论数 0

mac下本地搭建nsq经验分享

mac os版本为10.13.3 。go 语言版本为go1.10.2。 对于什么是nsq,请参考https://blog.csdn.net/chinawangfei/article/details/80341688。 在本地搭建时,请先到nsq官网熟悉搭建流程,具体网址为:https://ns...

2018-05-18 14:47:14

阅读数 724

评论数 0

分布式的实时消息平台NSQ

nsq是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub,其当前最新版本是0.3.1版。NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息,其设计目标是为在分布式环境下运行的去中心化服务提供一个强大的基础架构。NSQ具有分布式、去中心化的拓...

2018-05-16 19:30:14

阅读数 517

评论数 0

mac安装nsq随手记

mac version是10.13.3。在mac中安装nsq,直接使用brew install即可。在命令行中,执行如下命令即可:$ brew install nsq Updating Homebrew... ==> Auto-updated Homebrew! Update...

2018-05-16 19:08:37

阅读数 445

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭