Gopher China 2021 专访之宋顺:Go 在蚂蚁集团的应用、实践

2024-01-17 04:38

本文主要是介绍Gopher China 2021 专访之宋顺:Go 在蚂蚁集团的应用、实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GoCN

专访人物

宋顺

蚂蚁集团高级技术专家,Apollo Config PMC。

在微服务架构、分布式计算等领域有着丰富的经验,2019 年加入蚂蚁集团,目前专注于云原生和微服务方向,如 Service Mesh、Serverless、Application Runtime 等。
毕业于复旦大学软件工程系,曾就职于大众点评、携程,负责后台系统、中间件等研发工作。

GoCN:贵司从什么时候开始用 Go,基于什么原因,还记得第一个用 Go 的项目是什么吗?

宋顺:早在 2015 年,蚂蚁的基础设施团队就已经使用 Go 来尝试优化资源调度能力,当时还是基于 Docker Swarm 做的一些调度平台,这个时期没有持续太长就逐步切换到了 Kubernetes,蚂蚁内部的版本叫 Sigma,当前 Sigma 已经承担起了蚂蚁内部所有集群的资源调度,并且也在逐年提升资源利用率,为公司节省了不少的成本。

GoCN:现在有多少人用 Go,或者 Go 开发比例占到多少?

宋顺:目前 Go 主要用于蚂蚁的基础设施团队,在资源调度、弹性伸缩、安全容器、日志无盘、Service Mesh、Serverless 等场景中广泛应用,Go 的开发人员在基础设施团队内部占比高达 50% 以上,业务团队大部分还是以 Java 为主。

GoCN:Go 有哪些特性是非常匹配贵司业务和开发需求的,有哪些是让人很抓马的,希望有哪些改进?

宋顺:Go 的简单易学、安全编码、研发效率、活跃生态等特性是非常符合我们的需求的。抓马的主要还是性能,如大规模下 gc 抖动,调度延迟等。改进方面希望能够有比 channel 更轻量的 Go block/wake 机制,这块我们也在和社区讨论中:

https://github.com/golang/go/issues/46431

GoCN:目前来看 Go 在项目中普及的难度是什么,在招聘方面有困难吗?

宋顺:在基础设施层面普及没有太大难度,后续如果在业务团队中也能顺畅的使用 Go 还是需要我们的  Service Mesh 体系对多语言体系的支撑更加完善,让业务能更少的感知底层能力从而专注业务开发。我们即将开源的 Layotto 就是希望在 Runtime 层面通过统一的 API 定义,从而可以让各种语言都非常简单的享受到分布式架构的红利,为业务提效。
在招聘方面由于目前 Go 主要用于基础设施,所以我们需要的是对网络、系统内核、高性能有较多经验的人才,不过眼下这类人才还是比较稀缺的。

GoCN:希望招到具备哪方面能力的 Go 工程师?

宋顺:有高性能网络编程和性能优化经验,对分布式系统有较深理解,对 Go Runtime 有一定研究的 Gopher 工程师。

GoCN:对本次大会的期待是什么?

宋顺:希望了解 Go 在更多公司的实践经验、学习 Go 语言自身的特性演进以及和更多的 Gopher 现场交流。

  本周推荐阅读  

  • 揭秘 AnolisOS 国密生态,想要看懂这一篇就够了

  • 蚂蚁云原生应用运行时的探索和实践 - ArchSummit 上海

  • 带你走进云原生技术:云原生开放运维体系探索和实践

  • 稳定性大幅度提升:SOFARegistry v6 新特性介绍

活动报名点击阅读原文吧

这篇关于Gopher China 2021 专访之宋顺:Go 在蚂蚁集团的应用、实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/614892

相关文章

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个