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

相关文章

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Go 1.23中Timer无buffer的实现方式详解

《Go1.23中Timer无buffer的实现方式详解》在Go1.23中,Timer的实现通常是通过time包提供的time.Timer类型来实现的,本文主要介绍了Go1.23中Timer无buff... 目录Timer 的基本实现无缓冲区的实现自定义无缓冲 Timer 实现更复杂的 Timer 实现总结在

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的