一招让Kafka达到最佳吞吐量

通过上一篇文章对 dq 生产者的分析,我们知道 dq 是基于 beanstalk 的封装。至于 生产者 我们在后续的文章继续分享,本篇文章先来分析一下 go-queue 中的 kq。kq 基于 kafka 封装,设计之初是为了使 kafka 的使用更人性化。那就来看看 kq 的使用。上手使用func main() { // 1. 初始化 pusher := kq.NewPusher([]string{ "127.0.0.1:19092", "127.0.0.1:19092", "127.0.0....阅读全文

Segmentfault 2021-03-19 11:32:34 kevinwan

GoPath模式和GoMoudle模式的相爱相杀

相信看我文章的文章的童鞋,golang版本已经是1.3版本以上。如果你的版本还停留在1.3以下,那这篇文章可以做为你的提升之法。go moudle的前世今生前世-gopathgopath是什么GOPATH 是什么,相信已经不用我再多说什么了。大家深受摧残多年,应该已经有所体会。在v.1.11版本之前,安装GO肯定要在环境变量中配置GoPath,我们可以简单的将其理解成是工作目录。目录结构如下-- bin 存放编译后生成的二进制可执行文件-- pkg 存放编译后生成的 .a 文件-- src 存放...阅读全文

Segmentfault 2021-03-18 23:32:36 happlyfox

kube-apiserver内存溢出问题调查及go tool pprof工具的使用

问题描述测试集群三台master,每个master上面的kube-apiserver都频繁的重启。登录其中一台master,发现kube-apiserver的内存占用特别高,每次重启完后内存很快就飙到了20G左右,而且还有继续增长的趋势。因为默认kube-apiserver的静态pod是没有设置memeory limit的,最终api-server会吃光机器的所有内存,导致master机器运行异常。查看容器内存占用的命令:docker stats --no-stream |grep kube-a...阅读全文

Segmentfault 2021-03-18 23:32:36 qd19zzx

2021-03-16:手写代码:单链表归并排序。

2021-03-16:手写代码:单链表归并排序。 福大大 答案2021-03-16: 获取链表中点,然后按中点分成两个链表。递归两个链表。合并两个链表。 代码用golang编写,代码如下: package main import "fmt" func main() { //head := &ListNode{Val: 4} //head.Next = &ListNode{Val: 2} //head.Next.Next = &ListNode{Val: 1} //head.Next.Next.N...阅读全文

简书 2021-03-17 05:32:37 福大大架构师每日一题

golang 中的 nil

源码中的 nil 是这样定义的 // nil is a predeclared identifier representing the zero value for a // pointer, channel, func, interface, map, or slice type. var nil Type // Type must be a pointer, channel, func, interface, map, or slice type 所以 nil 可以理解为这些类型的零值,声明...阅读全文

简书 2021-03-17 05:32:36 追风骚年

golang 中的高级循环

一般的 break 语句只能跳出当前循环,没办法控制跳出到上级循环,但是 golang 中提供了类似 goto 的方式 label breaks。 package main import "fmt" func t1() { for i := 0; i < 2; i++ { breaki := false for j := 0; j < 5; j++ { if j == 2 { breaki = true break } fmt.Println("hello") } if breaki { bre...阅读全文

简书 2021-03-17 05:32:36 追风骚年

Go - 从零开发第一个Golang项目

Go语言编程之旅:一起用Go做项目 1. 概述 Go语言特性请参考我的上一篇文章,本文不再赘述啦: https://www.jianshu.com/p/2f56e491172d 本文重点介绍Go语言开发环境的安装流程,以及第一个Golang项目的开发流程(来自上面那本书)。 2. Go开发环境安装 Windows10 install git and golang in win10 https://golangdocs.com/install-go-windows set envs $ go en...阅读全文

简书 2021-03-17 05:32:36 红薯爱帅

Go语言不可比较类型与Map问题

原创 lightcity 光城 2020-05-29Go语言不可比较类型与Map问题1. 昨日题目的解答题目1:slice输出结果分析?s1_ : [2 3 4 5] 4 7s2_ : [5 6] 2 4s3_ : [] 0 2s4_ : [7] 1 2输出这个结果问题是因为:先看s1,这个答案比较简答是2 3 4 5,此时切片s1_是arr的一个view,s1_有len与cap,此时len=4,cap=7。s2_是从s1_的index=3取,对应数字5,此时还可以向后扩展,超过了len,但没超...阅读全文

51CTO博客 2021-03-16 13:18:17 mb600aa3928e8ce

(公众号新人进来)有趣的练习,提升Go水平

原创 lightcity 光城 2020-05-28有趣的练习,提升Go水平本节推出两个题目,请大家认真做,做完后,可以留言回复,如果对答案感兴趣,可以继续关注后面的文章。过两天,将发一些比较实用的教程,例如:vscode如何开发,go/cpp如何高效学习,期待你们的留言,一起进步。最近有很多新朋友关注公众号,说一下公众号的目标及主要是分享什么东西。1) 公众号主要是个人的学习及所见所得分享,个人现在在做Cpp/Go方面开发,当然重点会放在这个上面,当然也会分享一些其他的,这就需要大家留言喽。2...阅读全文

51CTO博客 2021-03-16 13:17:48 mb600aa3928e8ce

Go函数用法实战

原创 lightcity 光城 2020-05-25Go函数用法实战Go语言是一门非常容易上手的语言,在以后的文章中,尽量简单且实用!本节主要阐述Go语言中函数的一些用法,如果不全,欢迎留言补充!1.普通函数1.1 返回单值或多值函数类似这样:func xxx() int {} // 单值func xxx() (int,int) {} // 多值1.2 返回值带名类似这样:func div_1(a, b int) (q, r int) { q, r = a/b, a%b return}2.变参函...阅读全文

51CTO博客 2021-03-16 13:16:39 mb600aa3928e8ce

C++像Go一样的并发与闭包

原创 lightcity 光城 2020-04-29C++像Go一样的并发与闭包1.并发与并行的区分并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有同时处理多个任务的能力。举例:并发就是一个厕所坑很多人排队交替用,并行就是多个厕所坑多个人用,可以同时。并发性是程序的一种属性,其中两个或多个任务可以同时进行。并行性是一个运行时属性,其中两个或多个任务同时执行。通过并发性,为程序定义一个适当的结构。并发可以使用并行来完成它的工作,但并行不是并发的最终目标。2.Go的优雅写法并发主要...阅读全文

51CTO博客 2021-03-16 13:11:17 mb600aa3928e8ce

Go初学者资料必看

原创 lightcity 光城 2020-04-191.官方Go语言基础https://tour.golang.org/welcome/1支持在线调试、在线写代码!基础部分看了Go的基本语法也就看完了,非常不错~上述看着困难的,可以看中文版!https://tour.go-zh.org/2.重磅!无闻大佬的Go语言基础《Go 编程基础》是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向 Go 语言新手级别的学习者。非常的全,我也在看这个,感觉着实不错,推荐给大家!https:/...阅读全文

51CTO博客 2021-03-16 13:06:43 mb600aa3928e8ce

还在为Go依赖安装不上烦恼?

原创 lightcity 光城 2020-03-13还在为Go依赖安装不上烦恼?使用VSCode安装Go依赖的时候,各种问题,就是安装不上,有两种方式可以解决。使用go get -u -v,实际上就是多了个-v,就行了。更换国内镜像。本人推荐更换为国内镜像下载飞快。1.第一种方式太繁琐了,需要安装什么就安装什么。go get -u -v github.com/nsf/gocodego get -u -v github.com/uudashr/gopkgs/cmd/gopkgsgo get -u ...阅读全文

51CTO博客 2021-03-16 13:00:59 mb600aa3928e8ce

Go那些事之HelloWorld结构

原创 lightcity 光城 2020-02-27Go那些事之HelloWorld结构0.导语本节开始后续将更新Go系列文章。本节主要阐述一个HelloWorld例子与C/C++、JAVA的不同之处,并加深学习理解。1.运行与编译可以直接通过go run来运行:go run xxx.go也可以类似于C/C++编译成二进制文件xxx,然后执行该二进制文件:go build xxx.go2.应用程序入口在C/C++中入口是main函数,在JAVA中也是main函数,而Go也是,但与JAVA不同之处...阅读全文

51CTO博客 2021-03-16 12:58:25 mb600aa3928e8ce

Go开发工程师:迎接上升风口,踏入蓝海行业!

download:Go开发工程师:迎接上升风口,踏入蓝海行业! 简介本文演示了一个简单的Go语言包的开发,以及 go tool 命令的使用,包含:获取、构建、安装Go包和命令的标准方法。 go tool 要求用特别的方式来组织你的Go代码。仔细阅读本文,它解释了启动和运行Go安装的最简单方法。 代码组织概述程序员通常会将所有Go代码保存在一个工作区中工作空间包含许多版本控制的仓库(repo)(例如,由Git管理的)每个仓库包含一个或多个包每个包由一个目录中的一个或多个Go源文件组成包目录的路径确...阅读全文

51CTO博客 2021-03-16 00:24:22 mb604f8634b3c1b

体系课-Go+Python双语言混合开发 盯紧技术先机 抓紧高薪机遇

download:体系课-Go+Python双语言混合开发 盯紧技术先机 抓紧高薪机遇 记录显示登录日志实例 复制代码import time def show_info():print('''输入提示数字,执行相应操作0:退出1:查看登录日志''') def write_loginfo(username):"""将用户名和登录时间写入日志:param username: 用户名"""with open('log.txt','a') as f:string = "用户名:{} 登录时间:{}\n"...阅读全文

51CTO博客 2021-03-16 00:18:23 mb604f8634b3c1b

Go语言入门

最近准备学点新东西,聊聊Go语言入门。 Go是google 09年推出的编程语言,Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言,可谓一时风光无限。最新一期的go语言排在44位,并不是很高,长期霸占语言排行榜头名是java,c。可以看看榜单:http://www.tiobe.com/tiobe_index?page...阅读全文

51CTO博客 2021-03-16 17:07:13 mob604756ec296f

golang 简单爬虫

爬取 BILIBILI 专栏图片的程序利用 go 语言,获取哔哩哔哩专栏的图片,lsp再也不用手动一个个下载了。。。。用到的都是 go 语言自带的包,放心食用完整代码package main import ( "fmt" "io/ioutil" "net/http" "os" "regexp" "strings" ) // 定义根路径 var rootPath = "./imgs" func SaveImg(url string, page chan string) { name := url[...阅读全文

51CTO博客 2021-03-16 20:31:23 mob604756e46771