AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

数字化时代,网易数帆是如何做基础软件创新的?

  • 2022-04-19
  • 本文字数:2798 字

    阅读完需:约 9 分钟

数字化时代,网易数帆是如何做基础软件创新的?

“墙高基下,虽得必失。”在构建数字企业大厦的工程中,基础软件的重要性不言而喻。但对于各行各业而言,面向传统经营模式设计的基础软件已经难以支撑数字业务的创新,唯有汲取专业团队的经验,缩短基础软件升级探索的时间,方能排除后顾之忧投入业务和管理的数字化,全心应对全球大环境的风险及行业的不确定性。


2022 年 04 月 15 日-16 日,以“深入基础软件,打造新型数字底座”为主题的首届DIVE全球基础软件创新大会在线上举办,本次大会由 InfoQ 主办,旨在打造基础软件领域内容最丰富、最前沿、最具技术性的行业大会,成为基础软件领域的风向标。网易数帆的两位资深架构师,翁扬慧和向东受邀参加本次大会,分别做了题为《网易数帆在混合微服务架构下的统一治理实践》和《面向未来的分布式存储设计》的演讲,分享了网易数帆在支撑网易业务和服务行业客户过程中沉淀下来的数字化基础软件创新经验。

统一服务治理破解技术碎片化难题


翁扬慧介绍了混合微服务技术架构的存在背景以及当前面临的问题,统一治理需要解决的核心问题和难点,提出了遗留历史业务如何优雅从框架升级至服务网格的思路,分享了网易数帆如何通过产品设计让微服务统一治理更加优雅。



微服务从最早被作为一种架构设计模式提出以来,至今已经有 10 多年的时间,微服务技术被广泛应用在企业的业务架构设计中。从开发框架的技术选型上来看,Dubbo 和 Spring Cloud 是目前主流的两大 Java 语言微服务开发框架选型,但仍有一些企业是基于私有的内部框架,甚至有的还没有完全微服务化。


因为技术的更新迭代,以及业务快速发展,需要引入新的技术来应对复杂的业务场景,导致业务技术架构在演进过程中面临技术的“碎片化”问题,体现在多个方面:


1. 微服务框架难以统一治理,Java 在企业级应用开发中依然占据最大份额,无论是使用 Spring Cloud 还是 Dubbo、gRPC 等,甚至是私有的开发框架,都存在服务治理的需求,不同的微服务框架之间如何实现相互发现,如何进行统一治理是很多企业团队面临的痛点问题。


2. 异构语言难以统一治理,针对不同业务场景,使用不同的开发语言往往更加能发挥语言特性优势,例如使用 C++开发高性能、低延迟的业务,使用 Python 开发人工智能、数据分析类应用,这些异构语言应用也需要进行统一的治理,例如提供流量管理、安全控制等能力;


3. 中间件难以统一治理,不同的微服务技术选择存在不同类型的注册中心,同时还存在例如配置中心、认证中心,还有多种通用的数据和消息类中间件例如 MySQL、Redis、ES、Kafka 等,如何进行有效的统一管理,实现云化的高效、智能运维也是业务团队的诉求之一;


4. 运行环境难以统一治理,随着云原生技术的发展,从物理机到虚拟机,再到容器化的应用运行环境变迁正在成为一种标准演进路线,企业的业务部署也从私有云、公有云,到混合云的模式发展,来解决资源弹性伸缩、业务容灾保障方面要求,不同的基础环境,也需要在业务层进行有效的屏蔽差异,统一治理。


除此之外,还有一些通用的基础技术组件、业务部署架构方面需要有更加统一、标准化的设计诉求,体现在不同技术架构中的不同维度、各个层面。而业务研发团队往往因为要支撑业务发展投入精力在业务开发中,因而存在技术演进过程中带来的各种技术债务,也是当前企业在数字化转型升级过程中面临的痛点。



网易数帆轻舟微服务团队,在多年的内外部客户支撑过程中,尤其在微服务和云原生技术领域,积累了大量的经验和最佳实践,并且沉淀了一套面向企业级的微服务统一治理平台。通过业界领先的无侵入式微服务治理技术、双引擎多模式统一治理、中间件 PaaS 化管理等来解决企业在架构升级过程中面临的技术难题,通过提供一站式的微服务平台控制台,助力企业用户以最小的改造、使用成本快速实现业务的统一治理,从而让业务团队更加关注于专业领域的业务开发,提升企业整体的研发效率,实现成本优化。


此外,翁扬慧还在本次分享中指出,轻舟微服务团队近年来,在金融行业做了不少的优秀案例,并且总结沉淀了金融行业经验。通过提供全站式的分布式技术能力底座,以及两地三中心、异地多活等业务架构支撑能力,来帮助传统金融企业实现核心业务的分布式技术改造升级,从而实现去 IOE,最终达到全栈技术国产化、自主可控的终极建设目标。

面向未来的分布式存储设计


向东结合网易数帆开源云原生软件定义存储软件 Curve 的研发背景、应用场景介绍了分布式存储架构的最新发展,如何通过合理的设计达成设计目标,存储优化的细节,以及 Curve 的发展方向和演进等。Curve 是一个分布式的存储系统,它包含两部分 CurveBS 分布式块存储系统和 CurveFS 分布式文件存储系统,目前 CurveBS 已经在公司内部广泛应用,CurveFS 在开发演进当中。



在存储和计算分离的趋势不断发展过程中,越来越多的云上应用依赖存储与计算分离的架构。存算分离能够深度优化资源实现计算和存储资源的弹性扩展,按需分配。Curve 就是为了满足存算分离的需求而诞生的云原生存储系统,具备高性能、易运维、云原生特点。


网易数帆选择自研 Curve 存储系统主要有三个原因:


  1. 缺乏代码量少自主可控的统一分布式存储系统,Ceph 代码量达到 100W+,要完全熟悉和掌握非常困难;

  2. 现有开源存储系统出现故障时,对上层应用影响大,运维难度高,Ceph 采用强一致性协议,会导致系统出现故障时 I/O 频繁抖动;

  3. 现有开源存储系统无法提供更高的性能,在通用硬件下满足核心应用场景的需求。


易运维主要的核心挑战是如何有效提升系统的可用性以及可靠性,当系统发生故障的时候,既能保证数据的一致性同时也把故障的影响降低到最小。为了达成 CurveBS 的易运维目标,网易数帆采用了 RAFT 协议。使用 RAFT 协议不仅能保持数据的一致性,同时也能降低写 I/O 的响应延迟,它只需要大多数副本复制请求成功返回就可以表示数据写入成功。


为了提升数据的可靠性,网易数帆在拓扑结构上采用了故障域的概念,同时在数据分布方面使用了 copyset 算法,来保证当故障发生时,数据丢失的概率最低。当存储系统在线升级时采用了特殊的客户端设计来保证存储系统的在线升级。



要达成 CurveBS 的高性能目标,三大板斧主要是降低底层 I/O 的写放大、提升 I/O 数据的吞吐率、降低 I/O 的延迟。网易数帆采用了 ChunkFilePool 预先创建文件池的方式降低 I/O 的写放大,并使用 DataStrip 数据条带类似 Raid 的方式来提升数据的吞吐率,使用 zerocopy 来降低 I/O 数据拷贝引起的开销。


相比于 CurveBS 来说,CurveFS 需要面临更复杂的负载以及更多样化的应用场景,例如:兼顾性能与容量的机器学习场景、快速跨云弹性发布的业务场景、低成本大容量需求的业务、中间件冷热数据自动分离、S3 和 POSIX 统一访问需求。


网易数帆的方案是首先在元数据层面保证文件元数据的性能与空间线性可扩展、使用 RAFT 协议保障在系统故障时的数据一致性和可用性、使用多层 cache 来提升数据和元数据服务的性能。目前 CurveFS 已经支持了底层的 S3 对象存储,并能对外提供 POSIX 兼容的文件服务,网易数帆存储团队还在优化 CurveFS 的性能,正在开发支持接入 CurveBS 块存储。

2022-04-19 16:043732

评论

发布
暂无评论
发现更多内容

淘宝商品详情API返回值中的优惠券与红包信息

技术冰糖葫芦

api 网关 API Explorer API 策略 pinduoduo API

【转载】golang内存分配

京东科技开发者

天翼云,AI取经路上的逐梦人

脑极体

AI

通义灵码最全使用指南,一键收藏

阿里云云效

阿里云 云原生 通义灵码

深入理解 Babel - 微内核架构与 ECMAScript 标准化|得物技术

得物技术

web前端 企业号2024年8月PK榜

活动在即,不容错过丨亚信安慧AntDB诚邀您参加“PostgreSQL数据库技术峰会”

亚信AntDB数据库

AntDB 月PK

通义灵码最全使用指南,一键收藏

阿里巴巴云原生

阿里云 云原生 通义灵码

万界星空科技MES系统中的排班排产功能

万界星空科技

mes 万界星空科技 生产管理 车间管理 生产排班排产

使用Redis时不可原谅的几个低级错误

江南一点雨

TikTok海外直播专线:提供稳定、高效直播体验

Ogcloud

海外直播专线 海外直播 tiktok直播专线 海外直播网络 tiktok直播网络

VMware Workstation 17.6 Pro Unlocker & OEM BIOS 2.7 for Windows & Linux

sysin

macos vmware OEM BIOS Workstation

SD-WAN解决企业远程服务难题

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

如何处理 MySQL 主从延迟?

伤感汤姆布利柏

Flink CDC 在货拉拉的落地与实践

Apache Flink

大数据 flink 流计算 Flink CDC

从Milvus迁移DashVector

DashVector

数据库 向量检索 大模型 #人工智能

Redis 主从复制、切片集群

不在线第一只蜗牛

数据库 redis

索尼的Web3蓝图:从技术创新到现实应用的全方位布局

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

AI数字实时互动新探索,打造高拟真专属AI智能体

阿里云CloudImagine

云计算 音视频 视频云 实时互动 AI 智能体

飞书发布最强业务工具:新一代多维表格、低代码平台、飞书项目

ToB行业头条

自增主键去哪了?---一次开发过程中的思考

京东科技开发者

重磅活动!南开大学赵宏教授倾情分享AI挑战下的教育教学新理念与新方法

ModelWhale

Python 人工智能 通识课程

电商创新策略:深度挖掘亚马逊国际商品详情API返回值

代码忍者

AV-Comparatives确定2024年夏季的主要网络安全威胁

财见

LED显示屏厂家如何提升LED产品技术

Dylan

产品 技术 LED显示屏 led显示屏厂家 市场

探索魔乐社区:GLM-4V-9B模型微调之旅

天翼云开发者社区

人工智能 大模型

天猫商品评论API返回值中的虚假评价识别策略

代码忍者

api 网关 API 策略

通过ModelScope开源多模态Embedding模型进行向量生成

DashVector

数据库 向量检索 大模型

网络管理方法及软件选择指南

Geek_a83400

业务复杂度治理方法论--十年系统设计经验总结

京东科技开发者

公开课 | 测试工程师的质量体系构建指南

测吧(北京)科技有限公司

测试

数字化时代,网易数帆是如何做基础软件创新的?_文化 & 方法_网易数帆_InfoQ精选文章