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. VSFTP日志文件详解

    开启FTP服务器记录上传下载的情况,如果启用该选项,系统将会维护记录服务器上传和下载情况的日志文件.默认情况下,该日志文件为 /var/log/vsftpd.log # This depends on ...

  2. Linux CentOS内核升级

    1. 说明 正在使用的阿里云服务器报了几个内核漏铜,使用自带[一键修复]需要额外的支付费用,所以尝试采用升级系统内核的方式来修复漏洞. 1.1 服务器参数 操作系统:CentOS 7.4 64位 当前 ...

  3. 小鸟初学Shell编程(六)变量赋值

    变量的意义 我们在使用Linux命令或脚本的时候,会有一些输出,那么这些输出的信息可以用变量临时存储,以备我们下一条命令或脚本使用. 变量的定义 变量的定义建议用一个有意义的英文单词来代表变量,不要使 ...

  4. 深入浅出《设计模式》之工厂模式(C++)

    前言 模式介绍 在之前简单工厂模式中,我们介绍了简单工厂模式的缺陷是违背了开放-封闭原则.如果在面馆中添加了烤海参,那将会修改waiter工厂类.违背了类内封闭原则. 还以面馆为例,现在两种面,用一个 ...

  5. React用脚手架实际开发项目!

    安装脚手架: npm i create-react-app -g 创建项目命令: create-react-app 项目名字 启动命令:yarn start 如果不用脚手架,需要创建一下页面: 再安装 ...

  6. ThreadPoolTaskExecutor学习

    1. ThreadPoolTaskExecutor学习 1.1. 前言 我们知道一般创建线程池,我们都用ThreadPoolExecutor,但实际上Spring它也对该线程池做了一层封装,他就是Th ...

  7. git tag介绍

    我们常常在代码发版时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的. git的tag功能git 下打标 ...

  8. [linux] 进程五状态模型

    运行态:该进程正在执行:就绪态:进程做好了准备,只要有机会就开始执行:阻塞态:进程在某些事件发生前不能执行,如I/O 操作完成:新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中.通常是进 ...

  9. ubuntu 16.04 实现远程图形界面连接

    一.在操作系统中用管理员权限安装以下软件 1. 安装xrdp: sudo apt-get install xrdp 2. 安装vnc4server: sudo apt-get install vnc4 ...

  10. 论文笔记系列-AutoFPN

    原论文:Auto-FPN: Automatic Network Architecture Adaptation for Object Detection Beyond Classification 之前 ...