一周 Go World 新鲜事-2019W13


01

你真的需要用Kubernetes吗?


Kubernetes是一个十分强大的容器编排系统。它在全球范围内已广受使用,支持了一些很大型的部署,但同时它也伴随着一些代价。 特别是对于规模较小的团队而言,会因为维护它并且因它的学习曲线陡峭导致大量耗时。相比较于我们一个四人团队想要在trivago内实现的目标,它增加了太多额外负担。所以我们研究了其他的选择,并由衷地喜欢上它,那就是Nomad[1]。


原文链接:

https://mp.weixin.qq.com/s/MNX7QG-TbHXe0OMOun5eWA

原文二维码:

640?wx_fmt=png




02

Go Struct超详细讲解



Go语言中提供了对struct的支持,struct,中文翻译称为结构体,与数组一样,属于复合类型,并非引用类型。

Go语言的struct,与C语言中的struct或其他面向对象编程语言中的类(class)类似,可以定义字段(属性)和方法,但也有很不同的地方,需要深入学习,才能区分他们之间的区别。

注意复合类型与引用类型之间的区别,这应该也是值传递和引用传递的区别吧。


原文链接:

https://juejin.im/post/5ca2f37ce51d4502a27f0539

原文二维码:

640?wx_fmt=png




03

Golang的分代GC(Garbage Collection)


前言

Go语言的垃圾回收(Garbage Collection,以下简称GC)机制是并发三色标记,是一种不移动的标记-清扫 GC算法。在2018年的一次演讲 中,官方公布了尝试使用分代GC的想法。截止目前(2019年4月份),分代GC仍处于试验的状态,没有具体的发布时间。

go官方代码库,目前共有10个commit,本文主要讲解Go分代GC的实现思路以及现有的一些问题,后面可能详细讲解一下代码。

标记-清扫 GC算法

标记-清扫GC算法首先会从一些固定的root节点开始,对于Go语言来说就是全局指针和 goroutine 栈上的指针,根据这些root节点进行递归标记。当标记完成后,所有被标记的对象就都是存活的,其余的对象即是可以清扫的。


原文链接:

https://www.jianshu.com/p/2383743edb7b

原文二维码:

640?wx_fmt=png




04

GCTT | 使用 Goroutines 池来处理基于任务的操作


我在多个场合都被问到为什么使用工作池模式,为什么不在需要的时候启动所需要的 Goroutines?我的答案一直是:受限于工作的类型、你所拥有的计算资源和所处平台的限制,盲目地使用 Goroutines 将会导致程序运行缓慢,进而伤害整个系统的响应和性能。每个程序、系统和平台都有短板。不管是内存、CPU 或者带宽资源也都不是无限的。因此对于我们的程序来说,减少资源消耗、重用有限资源是非常重要的。工作池恰好提供了这样一种模式,可以帮助程序管理资源,提供调节资源的选项。


原文链接:

https://studygolang.com/articles/14481

原文二维码:

640?wx_fmt=png




05

一个示例阐述 Go 应用的优雅中止


写在前面

按照一般的设计原则, 每个 HTTP 请求都是无状态的,因此大多情况下 Web 应用都很容易做水平扩展。“无状态”也意味着 HTTP 请求发起重试的成本是很低的,从而使得 Web 接口的开发很少关注优雅中止(一部分也因为 Web 框架做了这部分的考虑)。

不过,业务中 ① 总会存在对中止比较敏感的接口(比如支付相关),并且 ② 总会存在一些带状态的服务,此时优雅中止就显得比较重要了。

本文通过一个Go 定时任务示例来简单介绍 Go 技术栈中优雅中止的处理思路。

适用人群

入门——初级√——中级——高级;本文适应初级及以上。

代码级支持优雅中止是必要的

优雅中止的含义

所谓“优雅中止”,是指应用接收到特定的中止信号(比如 INT、TERM)后,不再接受外部的新请求,也不再创建内部的新任务,保持应用进程运行直到旧需求和旧任务执行完成后再终止退出。


原文链接:

https://jingwei.link/2019/03/31/golang-graceful-ending.html

原文二维码:

640?wx_fmt=png



职位推荐:


【上海】积梦智能招聘Go工程师


【北京】游戏公司 Magic Tavern招聘DevOps Engineer


【北京】Aibee招聘后端工程师


 招聘详情地址:https://gocn.vip/explore/category-8



640?


Gopher China 2019 粉丝福利活动入口:


粉丝福利 | 第五届 Gopher China大会门票福利第三波!


Gopher China  2019大会企业团购通道即将关闭,还未购票的伙伴们抓紧时间啦

详情请加微信号:13458572960(玉璧)


戳下方阅读原文即可报名本次 Gopher China 大会!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值