Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
[TOC] kafka介绍 Kafka具有⾼吞吐、低延迟、高容错等特点 消息队列的通信模型 点对点模式(queue) 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并消费消息。一条消息被消费以后,queue中就没有了,不存在重复消费 发布订阅(topic) 消息生产者(发布)将消息发布到topic中,同时有多个消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所
glog简介 glog是著名的google开源C++日志库glog(https://github.com/google/glog)的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,可以自定义控制的内容比较少。 glog主要有以下几个特点: 1.glog有四种日志等级INFO<WARING<ERROR<FATAL,不同等级的日志是打印到不同文件的,低等级的日志文件中(INFO)会包含高等级的日志信息(ERROR) 2.通过命令行传递
引言 上一篇中提到了,go连接kafka进行消息的生产和消费过程。在这一篇中,将对go连接kafka写mysql进行简单的设计和实现。 本文主要针对的是Mac系统,如果使用其它操作系统,操作过程可能有所差异,请注意区别。 一、环境安装 可以根据上一篇的介绍搭建好kafka,在这里不做赘述。 安装mysql 我安装的是mysql的5.8版本,在mysql官网下载安装即可。http://www.mysql.com/ 详细的安装过程
文章目录kafka分区和消费者对应关系offset的提交GolangKafka第三方库实验 kafka Apache-Kafka消息队列。传送门 分区和消费者对应关系 1.一个组内的每一个消费者对应一个topic的一个分区。分区数即是最大消费者的数量。每当多余的消费者加入消费,会造成rebalance。比如:如果只有一个分区,并且已经有一个消费者在消费这个分区了,但是又重新加入了一个消费者,那么就会造成rebalance
文章目录web小应用之cloudgo-io1、概述1.1功能1.2运行1.3效果2、挑选框架3、文件结构4、iris的简单使用4.1获取iris4.2使用的套路4.3配置5、使用iris实现上述四种服务5.1静态文件服务5.2js请求5.3表单提交,填充模板5.4/unknown报错6、其他 web小应用之cloudgo-io 1、概述 1.1功能 这是一个简单的web小应用,有以下几个功能: 支持静态文件服务 支持简单的js访问 提交表单,并输出一个表格 对/unkno
生命不止,继续gogogo!!! 之前介绍了iris框架,介绍了如何使用basic认证、Markdown、YAML、Json等:Go实战–也许最快的Go语言Web框架kataras/iris初识(basic认证、Markdown、YAML、Json) 介绍了如何使用TOML、Cache、Cookie等:Go实战–也许最快的Go语言Web框架kataras/iris初识二(TOML、Cache、Cookie) 继续跟大家一起学习iris框架. Redis 关于redis,之前也有介绍过:Go实战–
IrisCMS与GinCMS、YafCMS使用统一的前端界面,基于LayUI的layuicms。调取后端的接口最大程度保持一致。 系统介绍 服务器端:使用GoLang,基于Iris框架、MySQL数据库。用到的组件xorm、 前端展示:使用基于LayUI的layuicms。用到的第三方组件authtree、treeTable。 IrisCMS是我学习golang,使用Iris开发的一个小型内容管理系统,目的是通过开发来学习实践。 IrisCMS前后端动静分离,RESTful风格,数
iriswebsocket服务端 packagemain import( "fmt" "github.com/kataras/iris" "github.com/kataras/iris/websocket" ) funcmain(){ app:=iris.New() app.Get("/",func(ctxiris.Context){ ctx.ServeFile("websockets.html",false)//secondparameter:enablegzip? })
2019独角兽企业重金招聘Python工程师标准>>> 最近有一个需求是从redis缓存中读取日活,redis缓存中保存着每天每个游戏的日活与局数,类型是hashset,key是$game_id:$log_date,value是玩家ID以及对应的局数,结构如下: 表示在2018-07-18日,game_id=1的游戏的日活与对应局数如下: user_id 局数 1 2 2 3 3 4 4 5 虽然能够知道所有的game_id,但是有些游戏可能没有日活,,一个一个game_id去取
生命不止,继续gogogo!!! 先插播一条广告,给你坚持学习golang的理由: 《2017软件开发薪酬调查:Go和Scala是最赚钱的语言》 言归正传! 之前写过使用golang实现简单的restfulapi相关的博客:Go实战–实现简单的restfulapi(Thewaytogo) 其中,使用了github.com/gorilla/mux,今天要跟大家介绍的是gin-gonic/gin。 gin-gonic/gin 介绍: GinisaHTTPwebframeworkwritteninGo
Go语言(golang)的一个很大的优势,就是很容易的开发出网络后台服务,而且性能快,效率高。在开发后端HTTP网络应用服务的时候,我们需要处理很多HTTP的请求访问,比如常见的API服务,我们就要处理很多HTTP请求,然后把处理的信息返回给使用者。对于这类需求,Golang提供了内置的net/http包帮我们来处理这些HTTP请求,让我们可以比较方便的开发一个HTTP服务。net/httpfunc main() {
概览首先同步下项目概况:上篇文章分享了,路由中间件-Jaeger链路追踪(实战篇),文章反响真是出乎意料,「Go中国」公众号也转发了,有很多朋友加我好友交流,直呼我大神,其实我哪是什么大神,只不过在本地实践了而已,对于Go语言的使用,我还是个新人,在这里感谢大家的厚爱!这篇文章咱们分享:路由中间件-签名验证。为什么使用签名验证?这个就不用多说了吧
终于又到一个重头戏了。在整个服务端开发中,一个是API,一个就是网页,当前的API大部分都是通过JSON提供了,而网页就是通过HTML提供了。所以对于这么大的需求,Gin当然不会忘记,为我们提供了很多方便的操作。html/template在聊Gin的HTML渲染之前,先聊聊Golang(Go语言)内置的html/template,因为Gin的HTML渲染就是基于html/template实现的。func main() { r := gin.Default() r.GET("/ht
浏览器都遵循同源策略,也就是说位于www.flysnow.org下的网页是无法访问非www.flysnow.org下的数据的,比如我们常见的AJAX跨域问题。要解决跨域问题的办法有CORS、代理和JSONP,这里结合Gin,主要介绍JSONP模式JSONP原理JSONP可以跨域,主要是利用了<script>跨域的能力,因为这个标签我们可以引用任何域名下的JS文件。既然是这样,我们就可以利用这个能力,在服务端生成相应的JS代