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

相关文章

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接