GopherChina2017-4 微服务、go的坑、搜索引擎

2017-04-16  本文已影响0人  kree

Grab:

从RoR转向Go,后台全用Go


用Go和jenkins打造了一套CI系统

Grab的Go实践

使用Go遇到的坑

下一步计划


函数式中,每个docker跑的是一个函数


讯联:

Go的技术特点

技术选型

15年为单体架构,17年为微服务架构,全部使用go实现


踩过的一些坑:

goroutine没有优先级,怎么搞定类似线程优先级的问题,让高优先级的被调度到?

goroutine堆积的情况怎么处理?


360:

Go在大规模搜索中的应用


ES和HBase在规模和效率上难以满足要求

多个doc.gz连成一个hadoop文件,gz格式在分段保存上有优势

用差分做了压缩,仍然有2.4T


为了简单,使用了CGO和C++配套


协程中再起协程,协程是临时创的,没使用协程池或连接池来做协程复用


消息队列用的channel,而非redis之类来实现


开源
嵌套依赖目前还没有很好的解决,于是all in one,但一些开发者还是使用了拆成5个微服务的方式


总结
对象池导致代码可读性差,目前gc没有那么明显,除非极端情况,否则不太需要了


上一篇 下一篇

猜你喜欢

热点阅读