01
go基于grpc构建微服务框架-服务注册与发现
grpc 是谷歌开源的rpc框架,基于http2实现,并支持跨语言,目前基本涵盖了主流语言.跨语言的实现主要得益于protobuf,通过编写proto文件,通过protobuf工具生成对应语言的类库进行使用.
对于go这样一门新生语言来说,生态链还处于发展阶段,微服务框架也是如此,下面将基于grpc-go版本搭建一个微服务通讯框架.
出自GoCN每日新闻(2018-04-21)
原文链接:https://segmentfault.com/a/1190000014501241
02
基于golang的爬虫实战
爬虫本来是python的强项,前期研究过scrapy,也写过一些简单的爬虫小程序,但是后来突然对golang产生兴趣,决定写写爬虫练练手。由于本人golang萌新,有错误之处,欢迎指正。
出自GoCN每日新闻(2018-04-21)
原文链接:https://my.oschina.net/EIKPE2lvl3wigMQG/blog/1798447
03
Go实现海量日志收集系统(三)
高可用的分布式key-value存储,可以用于配置共享和服务发现
类似的项目:zookeeper和consul
开发语言:go
接口:提供restful的接口,使用简单
实现算法:基于raft算法的强一致性,高可用的服务存储目录
出自GoCN每日新闻(2018-04-23)
原文链接:http://www.cnblogs.com/zhaof/p/8910761.html
04
【漏洞分析】Go语言任意代码执行漏洞
前不久,Go官方修复了CVE-2018-6574这个漏洞,这个漏洞又是涉及软件编译环节,和2015年Xcode被污染类似,攻击者可以通过在软件编译环节插入恶意数据从而执行任意代码,虽然原理并不复杂,但有很好的警示意义。
出自GoCN每日新闻(2018-04-25)
原文链接:http://blog.nsfocus.net/cve-2018-6574/
05
go sync.Map源码分析
go 语言中的map并不是并发安全的,在Go 1.6之前,并发读写map会导致读取到脏数据,在1.6之后则程序直接panic. 因此之前的解决方案一般都是通过引入RWMutex(读写锁)进行处理,关于go为什么支持map的原子操作,概况来说,对map原子操作一定程度上降低了只有并发读,或不存在并发读写等场景的性能. 但作为服务端来说,使用go编写服务之后,大部分情况下都会存在gorutine并发访问map的情况,因此,1.9之后,go 在sync包下引入了并发安全的map. 这里将从源码对其进行解读.
出自GoCN每日新闻(2018-04-26)
原文链接:https://juejin.im/post/5ae01447f265da0ba062d2e8
2018年的 Gopher Meetup 将在深圳开启巡回第一站,这一次邀请了很多新的讲师给大家一起交流分享Go的使用经验〜
点击阅读原文报名参加