GopherChina 2019大会4月底刚刚结束,大会上使用的PPT也放了出来(大会情况及PPT在https://mp.weixin.qq.com/s/_oVpIcBMVIKVzQn6YrkAJw)。趁着五一假期,对大会的PPT做了一个简要分析;

滴滴

大会的第一场压轴嘉宾是滴滴杜欢。从PPT透漏出的go语言的应用规模,我觉得滴滴在这方面投入确实不小;分享的这个架构,应该很牛B。先进的微服务理念,完善的服务治理,动态扩容,问题定位,性能压测,监控。其中还有比较暴力的协议拦截,防雪崩等;总之就是一个框架很完善,业务隔离的很彻底,零故障的微服务大型框架;我有几个前同事,现在在滴滴,从侧面也打听了一下,滴滴确实有大规模使用go语言,但是最近几年,也在使用Java作为一个补充语言;总之,滴滴在go生态方面,算是走了大厂的前面。据我了解,阿里,百度和腾讯都还没有把go语言如此大规模地应用;

grab

第二个嘉宾是grab公司,看描述是一个主要市场在东南亚的超级APP公司(类似美团?),主要分享了用go语言进行路径规划的案例。对这个公司不是很感兴趣,可能这个公司的核心应用也是go语言,所以放到了第二个;

pingCAP

第三个是pingCAP公司,主要分享内容为如何构建一个稳定的数据库产品,在go语言方面的一些优化技巧。据我了解,这是一家创业公司,核心业务就是TiDB,一个非常容易扩展的database,兼容Mysql协议,目前我们公司就使用了TiDB。

总结

其实后面的分享就没有什么特别大的参考价值,除非你真的在使用go语言。总结起来有三点,

1、从这些分享主题可以看出,一些大的公司,如BAT,都已经开始小范围试水golang。

2、一些新兴的公司,如B站(主要源于前段时间代码泄漏得出的结论,这次分享并没有B站,但是在2017年有哔哩哔哩的 Go 微服务实战),探探,pingCAP都已经在核心业务大规模采用go语言;这里面还有小米使用go语言构建了一个db中间件的分享,但从我同学那边了解到,小米的核心语言还是Java;

3、golang依然任重道远,在构建企业生态方面还有很长的路,这个从这些分享中就可以看出,因为大部分人都在分享造轮子,踩坑,优化和实践等主题;

个人观点

我本人虽然是Java开发者,但其实一直对go语言情有独钟;首先是因为他是google出品,技术质量有保证;其次,它诞生的比较晚,大概在2009年;其实,你对语言了解的越深刻,你越发现,为了兼容,很多语言背负的历史包袱越重,而新的语言,通常会吸取前车之鉴,有更好的设计理念以及运行起来更好的性能。但是golang诞生之后,并没有出现大家期望的火爆场面,反而后来变的不温不火,这也让我多少有些失望;

关注我的公众号了解更多类似分析;

从GopherChina 2019看当前的go语言的更多相关文章

  1. 2019看雪CTF 晋级赛Q2第四题wp

    上次参加2019看雪CTF 晋级赛Q2卡在了这道题上,虽然逆出算法,但是方程不会解,哈哈哈哈,果然数学知识很重要呀,现在记录一下. 首先根据关键信息,根据错误提示字符串定位到这里: 1 int __t ...

  2. 从linux0.11中起动部分代码看汇编调用c语言函数

    上一篇分析了c语言的函数调用栈情况,知道了c语言的函数调用机制后,我们来看一下,linux0.11中起动部分的代码是如何从汇编跳入c语言函数的.在LINUX 0.11中的head.s文件中会看到如下一 ...

  3. Go语言的9大优势和3大缺点, GO语言最初的定位就是互联网时代的C语言, 我为什么放弃Go语言

    Go语言的9大优势和3大缺点 转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时.今年 Stream 团队的主要编程语言从 Python 转向了 Go.本文解释了其背后的九大原因 ...

  4. 深度解密Go语言之 scheduler

    目录 前置知识 os scheduler 线程切换 函数调用过程分析 goroutine 是怎么工作的 什么是 goroutine goroutine 和 thread 的区别 M:N 模型 什么是 ...

  5. 《C语言程序设计》课程教学目录

    <C语言程序设计>课程教学目录 不要去精确定义单个论题,应将一整套问题组织成体系.--黎曼(1826-1866)德国著名数学家 教学过程 2018年秋季学期 C语言程序设计I-第一周教学 ...

  6. 【Python五篇慢慢弹】数据结构看python

    数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...

  7. 【GoLang】转载:我为什么放弃Go语言,哈哈

    我为什么放弃Go语言 作者:庄晓立(Liigo) 日期:2014年3月 原创链接:http://blog.csdn.NET/liigo/article/details/23699459 转载请注明出处 ...

  8. [R]R语言里的异常处理与错误控制

    之前一直只是在写小程序脚本工具,几乎不会对异常和错误进行控制和处理. 随着脚本结构和逻辑更复杂,脚本输出结果的准确性验证困难,同时已发布脚本的维护也变得困难.所以也开始考虑引入异常处理和测试工具的事情 ...

  9. 转 Eric Raymond对于几大开发语言的评价

    原文见:http://blog.jobbole.com/79421/ [译注]:Eric Raymond是开源运动的领袖人物,对于UNIX开发有很深的造诣,主持开发了fetchmail.他的<大 ...

随机推荐

  1. JDBC的安装与使用

    JDBC的安装 首先在登录MySQL的官网下载JDBC-MySQL数据库驱动,或者去www.mysql.com/products/connector直接下载. 因为jdbc包属于第三方包,因此要自己导 ...

  2. Python urlib 模块

    Python urlib 模块 urlib 模块 当前再爬虫领域使用的比较少,不过它对图片爬取处理会比较方便.这里我们只使用它的图片爬取. 使用 urlib.request.urlretrieve(u ...

  3. Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc.username' in string value "${jdbc.username}"

    1.启动dubbo的引用dubbo服务时候报下面这个错误,这是由于去找dubbo的发布服务未找到报的错误,所以先启动dubbo的发布服务即可. [INFO] Scanning for projects ...

  4. PERFORM参数传递

    参数传递:将主程序变量传递给子例程形式参数传递类型值传:子例程中参数变量的值的改变,不影响外部程序实际变量的值. , B , C TYPE I. WRITE:'A=',A,'B=',B,'C=',C. ...

  5. linq,创建数据库,插入数据,newDB.CreateDatabase();newDB.tb2.InsertOnSubmit(stu); newDB.SubmitChanges();

    using System.Data.Linq;using System.Data.Linq.Mapping; namespace ConsoleApplication1388{ class Progr ...

  6. Codeforces 939A题,B题(水题)

    题目链接:http://codeforces.com/problemset/problem/939/A A题 A. Love Triangle time limit per test 1 second ...

  7. python部分笔记

    创建类和对象 图片转在自:https://www.cnblogs.com/aylin/p/5547558.html 图片转在自:https://www.cnblogs.com/aylin/p/5547 ...

  8. 还学不会webpack?看这篇!

    摘要: webpack入门教程. 原文:还学不会webpack?看这篇! 作者:MudOnTire Fundebug经授权转载,版权归原作者所有. Webpack已经流行好久了,但很多同学使用webp ...

  9. 02-MySQL 介绍和安装

    MySQL 介绍和安装 1.什么是数据? 数据: 文字.图片.视频...人类认知的数据表现方式 计算机: 二进制.16进制的机器语言 基于数据的重要性和复杂性的不同,我们可能有不同的管理方式. 哪些数 ...

  10. devops 下测试组织管理面临的挑战及应对

    导读 先从引发的5个问题讲起,再简单回顾一下devops 简介和兴起背景 ,再从itest 测试管理团队的视角提出应对办法 DevOps后,测试面临的挑战        敏捷开发必然是迭代开发管理模式 ...