参加啦2届Gopher大会,整体感受Go在中国的使用强大多啦。如不是我们势单力薄,我们也早开始尝试之路啦。

演讲具体如下:

Go 在大数据开发中的实战经验 孙健波 - 七牛

七牛是在国内推动Go比较早的,我们先来看看一张图学习下大数据各个开源软件

在来看看他们的产品:Pandora

在来看看效果

在来看看他们的系统架构

再来看看处理量:每天上百TB、2000+亿条实时数据增

为什么选择自研:大神一句不和就造轮子啊!

从这个分享中我们最多学到的是系统上面的架构思想: 上下游解耦

任务分割

水平扩展

任务标准化

提升资源利用率

提升任务管理能力

更多下游

分布式系统

做为一个PASS厂商,需要更好的照顾到和服务到他们的使用客户。 所以,他们自研应该是最好的选择。

Go in TiDB 申砾

TIDB 其实我关注很久啦我先用官方的话介绍下它:

TiDB 是国内 PingCAP 团队开发的一个分布式 SQL 数据库。其灵感来自于 Google 的 F1 和 Google spanner, TiDB 支持包括传统 RDBMS 和 NoSQL 的特性。

特性: 水平伸缩 TiDB 可随着你的业务增长而伸缩,只需要通过增加更多的机器来满足业务增长需要

异步的 schema 调整 TiDB scheme 可随时进行调整来满足需求,添加列和索引并不会影响进行中的操作

一致性的分布式事务 你可以把 TiDB 想象成一个单机的 RDBMS,而事务可以在多服务器间进行,无需担心一致性问题。TiDB 让你的应用代码简单而且可靠.

兼容 MySQL 协议 你可以像使用 MySQL 一样来使用 TiDB,你可以使用 TiDB 来替换 MySQL 来服务你的业务,而绝大多情况下无需修改一行代码。

采用 Go 语言开发 Go 代码简单而且易于理解,而且性能非常高

多存储引擎支持 你可以在 TiDB 中使用你熟知的存储引擎,单机模式下支持大多数引擎,包括 goleveldb, LevelDB, RocksDB, LMDB, BoltDB 等等 为什么会发现它,因为,我们有些线上业务数据到达千万级别。但是,我们有没有很多的MySQL DBA(小公司资源有限)。也阅读过一些 MySQL 高性能相关数据,对我们程序员来说还是有些复杂在我们心里希望能找到一个具有下面特点的DB: 水平扩展

自动同步(类似mongodb)

分布式

支持事务

维护简单

整体架构如下:

最让我们喜悦的是6月份要出GA版本,主要我们不敢尽早测试它,因为,我们没有多少成本可以给我们试错,现在可以啦。

还有一些企业已经上生产环节啦可以在兴奋下。

虽然,还有些问题只有跟上优化和解决就是一个好的产品。希望不要过度商业化忘记创建它期初的目标。

Go coding in Go style 白明

我对于 Go 的热情是因为它的简单,因为简单所以复杂! 简单的留给我们这些生产人员,复杂的问题开发者们去解决。之前的这么多版本的优化大多是对GC和编译优化,没有什么大的改动。 从我个人的角度我希望它永远这么简单!这么容易夸平台!

一开始的分享就很高深:

语言思维 和 人的价值观类似,你的语言创建的初衷就决定啦未来。 网络上对Go的优劣讨论已经比较多啦,有兴趣的大家去搜搜。

所有的这一切我们先来感谢下这三位作者: 对于一个Go来说在诞生的时候就自带gofmt,期初就强调啦规范。 所以,语言和人一样是有思考和个性的。

Understanding Go Interfaces Francesc Campoy

英文不好,99.9999999999999999%(16个9)没有听懂。 么得PPT 只能飘过

NSQ 重塑之路 李文

NSQ 也是我们关注的一款MQ产品,也在测试中使用最近准备进入生产,来看看产品介绍:

NSQ 是无中心设计、节点自动注册和发现的开源消息系统。可作为内部通讯框架的基础,易于配置和发布。

架构: 监控界面: 无单点故障: 特点: 追求简单部署

追求高可用、避免单点故障、无中心设计

确保消息送达

生产者消费者自动发现、消费者连接所有生产者、向消费者推的模式

提供 HTTP 接口

提供几乎所有编程语言的客户端开发包

有赞主要分享自己对NSQ的改造和开源支撑原文如下:

Review the Redesign

Channel queue -> disk file segments Consumer data copy -> consumer cursor No replication -> Replication & HA & Balance More : Consume in Order, Consume history, Tracing, Jepsen test. Most important: Keep protocol compatible

我试着翻译下:

重新设计

频道队列 -> 磁盘文件 消费者数据拷贝 ->消费者游标 无复制 ->复制 & 高可用 & 冗余 更多:按顺序消费,消耗历史,追踪,杰普森测试 最重要的是:保持协议兼容

基于 Go 的微服务架构 (Spring 开发者视角) 聪心 @阿里云

我想说 聪心 的说话方式和王博士一样,慢! 主要听到啦,一个从 Java 跑出来做 Go 的去 XXX 下 Java 的生态庞大。 从内部 Dubbo 试着 Golang 写一部分微服务

首先看下阿里云前端系统复杂性:

来看看他们的对比:

Dubbo vs Go kit

微服务最好做法总结:

每次新的技术提出都会引起一波技术圈内的震荡,在我看来应该是 保守派 和 激进派的战争。如:Micro-services、DevOps、Docker 等

用 Go 搭建 Kubernetes Operators 邓洪超

有是一个纯英文的PPT 主要讲解:Operation 是干什么的

哔哩哔哩的 Go 微服务实战 毛剑

首先我想问下大家知道:哔哩哔哩? 参会的很多不知道啊,代沟就是这么明显啊。 (虽然,我也不小啦但是我知道) 他们的开发说的开发很有激情啊,因为,可以时不时的围观下二次元和大尺度啊。 多好的福利啊有没有想去的想去找 毛老师。 言归正传,这次分享主要讲啦 哔哩哔哩 的技术转型到Golang: 从中认识到在重构的过程中对业务梳理、清楚结构、整体把控,讲的比较干。

干货走起:

看到啦: 结构清楚目标明确

代码管理流程

运维监控和管理

持续交付(敏捷不自动化就是耍流氓)

我这里就不多总结啦,大家可以参考后面的链接从 github 上拿到详细的PPT。

参考地址:

Why is Golang popular in China? http://herman.asia/why-is-go-popular-in-china

我为什么放弃Go语言 http://blog.csdn.net/liigo/article/details/23699459

为什么要使用 Go 语言?Go 语言的优势在哪里? https://www.zhihu.com/question/21409296

Go 这种逆天的语言,为什么 5 年了,还没有火起来呢? https://www.zhihu.com/question/27172183

感谢: gopherchina

qiniu

grab

huawei

ezbuy

elastic

PingCAP

UCload

vmware

appcoach

美餐

讯联

dgraph

minio

google

oschina

youzan