登顶之路|数字海南架构师谈云原生编程挑战赛参赛心路历程

本文涉及的产品
性能测试 PTS,5000VUM额度
函数计算FC,每月15万CU 3个月
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 云原生编程挑战赛项目组特别策划了《登顶之路》系列选手访谈,期待通过参赛选手的故事,看到更加生动鲜活的中国开发者。

2022 年 11 月 3 日,第三届云原生编程挑战赛即将迎来终极答辩,18 支战队、32 位云原生开发者入围决赛,精彩即将开启。


云原生编程挑战赛项目组特别策划了《登顶之路》系列选手访谈,期待通过参赛选手的故事,看到更加生动鲜活的中国开发者。


2022 云原编程挑战赛共吸引了 17900+ 支队伍,超过 18000+ 选手报名参赛,覆盖中国、美国、德国、加拿大、新加坡等 13 个国家和地区,汇聚 440+ 国内外顶尖高校和 240+ 领先企业,企业选手占比达 30%+,其中决赛企业选手占比达 75%,大赛规模再创新高!


第一期我们邀请了来自数字海南有限公司的曾辉林,针对参赛历程与感悟进行了一次深度采访。


深度采访


在什么背景下了解到阿里云云原生编程挑战赛,是什么吸引了你们参赛?


起因是我关注了【阿里云云原生】的公众号,偶然在一次推文中发现了 2022 云原生编程挑战赛的启动报名文章,查看后发现今年的赛题比较贴合我们公司开发的一个实际场景,很想去尝试挑战一下,通过参赛去解决一些未来可能会遇到的难题,提前做好准备。工作之后比较少机会参加大赛,我希望通过这个比赛过程能够收获和学习一些实战的技能。


怎么组队的?为何选择了赛道二作为参赛方向?


我们团队的队员都曾经任职在同一家公司,由于技术方向相同、对彼此的技术能力也都比较认可,所以我在看到这篇推文后便联系了另外两位小伙伴发出组团的邀请,大家看过大赛介绍后都觉得很有意思,因此立刻组团开始报名。

1.jpeg

战队:浩瀚武林(居中是本次受访嘉宾)


我们同时报名了赛道一与赛道二,其中赛道一的服务网格技术与我们公司目前的业务较为贴近,而选择主攻赛道二的原因是公司内部 RPC 框架注册中心模块想以 Kubernetes 作为注册中心,就需要调用 kube-apiserver 来获取服务地址列表,刚好赛道二考察基于 list/watch 机制实现高效的边缘自治方案与公司调研的怎么保持服务地址信息的可靠性、实时性、顺序性、高性能也很贴近。也算是着眼于未来,我们最终选择了这个赛道,当然这也意味着我们要去挑战之前不太触及的新技术领域,有兴奋也有担忧。


2.png3.png


之前对边缘云原生方向有接触吗?针对云原生边缘计算场景的 ACK@Edge的高效边缘自治方案,觉得这套方案和同类型方案比有何优势?


对边缘云原生在参赛之前接触比较少,因为它主要领域是在 IoT (物联网)和 CDN 等领域。而我所在的公司是比较偏政企化,所以接触的比较少。


在参赛过程中我们进一步了解了 ACK@Edge 高效边缘自治方案,我的理解是它在边缘节点和云端管控网络断连等异常情况下,业务重启还是节点重启后,节点内或者跨节点间的业务应用通信都将自动恢复,比较适用于边缘计算的弱网络连接状态下应用跨节点通信的场景。


而这套方案和同类型的方案,我觉得它的优点在于性能更高效,资源占用比较低。


这个赛道吸引您的原因是什么?

赛道二吸引我的原因主要有两点:第一点是对于边缘计算技术,是我作为系统架构师希望去主动学习的东西;第二点是因为目前赛道二的内容与公司项目中所调研的内容比较贴合,两者都需要去调用 kube-apiserver 去获取服务列表,有些相似且可以借鉴之处。


4.jpeg


在参赛过程中有难忘的事情吗?


在比赛的最后一周,排行榜的第一和第二的分值与我们相差较大。我们团队连着几个晚上进行了语音讨论,并且尝试了多种方案。最后,在比赛截止的前三天,我们讨论出了一个可行性的方案,同时跟导师开展讨论后进行了验证。最终我们的比分跟第一、第二名的分值相差不大,期间也有一次反超了他们的分值。


您目前任职的公司岗位经验,在参赛过程中有带给您什么灵感吗?


目前,我在数字海南主要担任公司系统架构师一职,主要是系统架构设计,中间件选型和系统性能调优。这次参赛在性能调优上给了我很多灵感,比赛中采用 Golang 的临时对象池,增加临时对象重用率和减少 GC 负担和采用内存缓存策略提高程序的性能。


有没有什么感悟可以跟大家分享的?


这次参赛主要是提升了我的编程技能以及对云边端的更深层次的认知。随着近年来5G 网络、物联网的快速发展,云技术应用的边界也在不断拓展和深入,来应对爆炸式增长的数据量和终端侧“大连接、低时延、大带宽”的市场需求,这将是边缘云的趋势与机会


之前用过印象比较深的阿里云的产品是?


印象比较深的有两个,一个是应用实时监控服务 ARMS 可以基于前端应用、业务自定义等维度,迅速便捷地构建秒级响应的应用监控能力。另外一个是阿里云应用高可用服务 AHAS,它可以提高应用及业务的高可用能力,主要提供流量防护、故障演练、容灾等核心能力。

5.jpeg


参赛过程中最难的是什么时候?


比如在开始的时候,我们团队参与了赛道一和赛道二,同时在两个赛道中都取得了较好的成绩。但后期由于工作以及一些其他原因,加上参赛节奏较紧张,所以那段时期稍微有些松懈,甚至产生了放弃的想法。


在比赛即将截止的时候,我们团队又沟通了几次,大家还是觉得咬咬牙要坚持下来。我们团队在赛道二的成绩与前面选手差距不大,还是非常有机会的,于是三个人熬夜写代码,在工作之余讨论优化方案,与导师沟通,不断解决技术问题,最终完成了这个赛季的冲刺。不论能不能拿到一个好名次,起码能够在这次比赛中学习到一些工作中未曾涉及的领域知识。


您是怎么理解云原生的?


我是近一两年了解到云原生技术,与云原生相关的产品、开源、演进历程等都吸引我去不断了解这个领域的发展。作为一名程序员,是需要不断的去学习一些新的知识,了解前沿的技术趋势。


我在云原生领域比较专注于容器和微服务,微服务解决“应用架构复杂度”问题,容器解决“应用部署问题”问题,Kubernetes 解决应用“编排和调度”问题。我认为容器算是云原生领域中的代表技术,容器提供了应用分发和交付标准,将应用与底层运行环境进行解耦。我在加入到数字海南后,2020 年末公司开展了所有的服务容器化上云计划,用 Kubernetes 解决容器的编排与调度。


选择容器化上云的技术规划时,会有一些顾虑吗?


一开始是有些顾虑的,因为我们的项目要求高可用、高性能、高并发和安全性,所以我们当时先将其他的一些项目进行落地,在逐渐平稳后才将主要项目迁移上容器。容器技术虽然比较繁琐,但是它可以在整个应用程序生命周期工作流中提供了隔离、可移植性、灵活性、可伸缩性和控制的好处,这是容器化可以给我们带来的便捷,所以我们的团队还是在努力的学习并克服容器技术上的一些难题。


对于即将展开的决赛答辩,选一句口号的话,你会怎么选?


我们团队的口号是:态度决定一切,细节决定成败。灵感来源于比赛结束前的一周,我们团队努力追逐赛道二中第一名和第二名的步伐时,在细节中捕捉到了这句口号的关键和灵感。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
16天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
8天前
|
消息中间件 存储 Cloud Native
云原生架构下的数据一致性挑战与应对策略####
本文探讨了在云原生环境中,面对微服务架构的广泛应用,数据一致性问题成为系统设计的核心挑战之一。通过分析云原生环境的特点,阐述了数据不一致性的常见场景及其对业务的影响,并深入讨论了解决这些问题的策略,包括采用分布式事务、事件驱动架构、补偿机制以及利用云平台提供的托管服务等。文章旨在为开发者提供一套系统性的解决方案框架,以应对在动态、分布式的云原生应用中保持数据一致性的复杂性。 ####
|
4天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
24 5
|
6天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
19 5
|
6天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
6天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
18 3
|
6天前
|
运维 Kubernetes Cloud Native
深入理解云原生架构:从理论到实践
【10月更文挑战第38天】本文将引导读者深入探索云原生技术的核心概念,以及如何将这些概念应用于实际的软件开发和运维中。我们将从云原生的基本定义出发,逐步展开其背后的设计哲学、关键技术组件,并以一个具体的代码示例来演示云原生应用的构建过程。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和实操指南。
|
6天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
19 3
|
5天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
10天前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####