Go操作kafka

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展等特点。本文介绍了如何使用Go语言发送和接收kafka消息。 sarama Go语言中连接kafka使用第三方库:github.com/Shopify/sarama。 下载及安装 gogetgithub.com/Shopify/sarama 注意事项 saramav1.20之后的版本加入了zstd压缩算法,需要用到cgo,在Windows平台

  • 0
  • 2
  • 发布于 2020-05-11 22:54
  • 阅读 ( 1188 )

高可用Redis服务架构分析与搭建

基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较MySQL而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。 不过任何一

  • 0
  • 2
  • 发布于 2020-04-19 17:41
  • 阅读 ( 863 )

阿里专家,一篇讲透“业务数据双中台”架构,ppt干货分享!

   点击“技术领导力”关注∆  每天早上8:30推送本文整理了阿里专家在技术大会上的分享,以PPT图片+文字的方式呈现给各位社区读者。如果你觉得对你有帮助,请转发朋友圈、点“在看”,你的支持是我们坚持写下去的动力。01阿里业务数据双中台架构图阿里中台主要体现为由业务中台和数字中台并肩构成的双中台,并肩扛起了所有前台业务。业务中台将后台资源进行抽象

  • 0
  • 2
  • 发布于 2020-04-18 20:57
  • 阅读 ( 728 )

【玩转ElasticSearch】降维打击!使用ElasticSearch作为时序数据库

本篇分享最近把ElasticSearch当作时序数据库来用的心得。•需求需求是这样的:提供一个后台,选用户画像标签(多选),点确认后弹出“选出了xxx个用户”,再继续点就把用户dump出来、推送消息。现在要做这个后台的数据仓库层。详细分析一下需求:1.我们的用户画像走流式计算,每秒大量更新,所以对插入/更新性能要求很高。2.查询条件翻译成SQL就是类似selectcount(*)from`table`

  • 0
  • 2
  • 发布于 2020-03-08 16:15
  • 阅读 ( 830 )

高薪之路,史上更全的 MySQL 高性能优化实战总结

前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。 今天给大家体验MySQL的优化实战,助你高薪之路顺畅!   优化的哲学 注意:优化有风险,涉

  • 0
  • 2
  • 发布于 2020-03-08 15:45
  • 阅读 ( 658 )

MySQL MyISAM/InnoDB高并发优化经验

为什么80%的码农都做不了架构师?>>>   最近做的一个应用,功能要求非常简单,就是key/value形式的存储,简单的INSERT/SELECT,没有任何复杂查询,唯一的问题是量非常大,如果目前投入使用,初期的单表insert频率约20Hz(次/秒,我喜欢这个单位,让我想起国内交流电是50Hz),但我估计以后会有500Hz+的峰值。目前的工作成果,额定功率200Hz(CPU占用10–20,loadavg=2),最大

  • 0
  • 2
  • 发布于 2020-03-08 14:31
  • 阅读 ( 612 )

算法第四版 pdf 下载

算法第四版 无力吐槽网上的那些带书签版本,1个大章节里面只有一个书签,跳转起来很麻烦。 找了半天,找到了一个带详细书签的中文版本和英文版本,该版本是java实现: 下载链接:https://pan.baidu.com/s/1ZnyQW2j9uLcfXc25KFrxSA密码:rb5s Github源码地址如下:https://github.com/kevin-wayne/algs4 上面的下载链接中有个算法说明,里面也有Github的源码地址、官网源码地址和其他详细信息,请务必看看

  • 0
  • 2
  • 发布于 2020-03-08 11:45
  • 阅读 ( 4015 )

阿里P7架构师畅谈年薪40W+的Java程序员是什么水平?

薪资在一定程度上反应了一名Java程序员的技术能力和价值,一般年薪在40W-50W左右的程序员,通常已经有了3-5年的工作经验,扎实的代码功力、架构和业务能力,而且对于工作细节也有自己的理解。 身边的一位阿里P7架构师朋友也说过,基本上达到以上标准,身边大多数Java程序员都能迈入年薪40W+的行列。具体的能力业务要求可以参考以下4条标准。 代码能力 代码能力是基本

  • 0
  • 2
  • 发布于 2020-03-07 18:40
  • 阅读 ( 740 )

进程、线程、协程、goroutine区别

    在golang开发的过程中相信大家最经常接触的就是go协程,但对于什么是协程以及什么是go协程,可能还停留在go出去的就是协程这个表面认知,这不仅会给我们项目带来隐藏的问题。对此,结合一些资料,从操作系统的角度来对进程,线程,协程进行介绍,并试着说明协程和goruntine是什么。 一、概念理解   1、进程     进程是具有一定独立功能的程序关于某个数据集

  • 0
  • 2
  • 发布于 2020-03-07 16:08
  • 阅读 ( 797 )

Redis高可用详解:持久化技术及方案选择

上一篇文章介绍了Redis的内存模型,从这篇文章开始,我将依次介绍Redis高可用相关的内容——持久化、复制(及读写分离)、哨兵、以及集群。   本文将先说明上述几种技术分别解决了Redis高可用的什么问题,然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案。在介绍RDB和AOF方案时,不仅介绍其作用及操作方法,同时还会介绍持久化实现的一些原理细节及需要注

  • 0
  • 2
  • 发布于 2020-03-07 15:43
  • 阅读 ( 747 )

go 通过channel异步读写切片,切片内容不符预期

首先来看下下面的一段代码,会error输出吗? packagemain import( "os" "bufio" "io" "fmt" ) funcmain(){ err:=ddImage(`E:大文件.txt`,``) iferr!=nil{ fmt.Println(err) return } fmt.Println("程序执行完毕") } typeResourcestruct{ Indexuint64 Buffer[]byte Sizeint Errerror

  • 0
  • 1
  • 发布于 2021-06-14 11:37
  • 阅读 ( 597 )

Go 1.15中值得关注的几个变化

Go1.15版本在8月12日就正式发布了,给我的感觉就是发布的挺痛快^_^。这种感觉来自与之前版本发布时间的对比:Go1.13版本发布于当年的9月4日,更早的Go1.11版本发布于当年的8月25日。 不过这个时间恰与我家二宝出生和老婆月子时期有重叠,每天照顾孩子团团转的我实在抽不出时间研究Go1.15的变化:(。如今,我逐渐从照顾二宝的工作中脱离出来^_^,于是“Gox.xx版本值得关注的几个

  • 0
  • 1
  • 发布于 2021-06-13 09:34
  • 阅读 ( 524 )

Go语言“十诫”[译]

本文翻译自JohnArundel的《TencommandmentsofGo》[1]。全文如下: 作为一名全职的Go语言作家[2]和老师[3],我花了很多时间和学生们一起,帮助他们写出更清晰、更好、更有用的Go程序。我发现,我给他们的建议可以归纳总结为一套通用原则,在这里我将这些原则分享给大家。 1.你应该是无聊的 Go社区喜欢共识(consensus)。比如:Go源代码有一个由gofmt强制执行的统一的代码格式规范。同样

  • 0
  • 1
  • 发布于 2021-06-13 09:30
  • 阅读 ( 557 )

GO 中如何设置 HTTPS 分享

GO中如何设置HTTPS分享先回顾一下上次说到关于HTTP相关的知识点HTTP属于网络模型中的应用层协议,应用层的作用就是规定应用程序使用的用语规范HTTP的建立过程涉及客户端和服务端,需要详细了解的可以查看文章:互联网协议知多少、来我们一起探究一下net/http的代码流程HTTPS是什么?说到HTTPS我们就来看看HTTPS是个啥HTTPS(HyperTextTransferProtocoloverSecureSocketLayer),即超文本传输

  • 0
  • 1
  • 发布于 2021-06-13 09:29
  • 阅读 ( 434 )

LRU缓存机制的哈希表+双向链表Go实现

LRU(LeastRecentlyUsed,最近使用最少,最久未使用)是一种缓存淘汰算法。缓存是计算机中用来提高访问资源速度的一种方法。将从数据库、硬盘、网络或其他地方读取到的数据暂存于方便读取的地方(也就是缓存(Cache)),等再次读取时就不必重新在上述地方查找和读取一遍。通常来说,缓存的空间都是有限的,因此只应该保留经常会被读取的数据,而不常被读取的数据则该

  • 0
  • 1
  • 发布于 2021-06-12 12:49
  • 阅读 ( 399 )

GO的网络编程分享

[TOC]GO的网络编程分享回顾一下我们上次分享的网络协议5层模型物理层数据链路层网络层传输层应用层每一层有每一层的独立功能,大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。每一层背后的协议有哪些,具体有啥为什么出现的,感兴趣的可以看看互联网协议知多少了解了网

  • 0
  • 1
  • 发布于 2021-06-12 12:49
  • 阅读 ( 727 )

跟面试官聊 Goroutine 泄露的 6 种方法,真刺激!

微信搜索【脑子进煎鱼了】关注这一只爆肝煎鱼。本文GitHubgithub.com/eddycjy/blog已收录,有我的系列文章、资料和开源Go图书。大家好,我是煎鱼。前几天分享Go群友提问的文章时,有读者在朋友圈下提到,希望我能够针对Goroutine泄露这块进行讲解,他在面试的时候经常被问到。今天的男主角,就是Go语言的著名品牌标识Goroutine,一个随随便便就能开几十万个快车进车道的大杀器。

  • 0
  • 1
  • 发布于 2021-06-12 12:48
  • 阅读 ( 466 )

动态规划算法求最长回文子串

回文串就是正着读和反着读一样的字符串,如“abba”,"abcba",最长回文子串是字符串的子串中最长的属于回文串的子串。如字符串"abbaabccba"的最长回文子串为"abccba",本文采用动态规划算法来查找最长回文子串,算法时间复杂度为O(n²)。设状态dp[j][i]表示索引j到索引i的子串是否是回文串。则易得转移方程如下: 则dp[j][i]为true时表示索引j到索引i形成的子串为回文子串,且

  • 0
  • 1
  • 发布于 2021-06-12 11:33
  • 阅读 ( 502 )

学妹:学历对程序员重要么?

在互联网行业中,许多人说技术比学历重要,技术厉害的专科生照样可以碾压985出来的人。其实不然,学历是步入社会的第一块敲门砖,学历越高,工作起点越高,之后的机会也越多,上升空间也越大。它首先让你有了进入企业的资格,也有了考入事业单位公务员的资格

  • 0
  • 1
  • 发布于 2021-06-12 11:06
  • 阅读 ( 428 )

曾在字节实习的程序员小姐姐,教你一步提取动漫线稿!比PS更清晰

GitHub上有一个小姐姐做了一个动漫线稿提取器,只需一行代码就能搞定!

  • 0
  • 1
  • 发布于 2021-06-12 11:06
  • 阅读 ( 443 )

今天,有什么经验需要分享呢?

立即撰写

热议话题 »