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

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块存储。

首届 DIVE 精彩回顾丨践行企业数字化,基础软件如何创新的更多相关文章

  1. 文末福利丨i春秋互联网安全校园行第1站精彩回顾

    活动背景 为响应国家完善网络安全人才培养体系.推动网络安全教育的号召,i春秋特此发起“互联网安全校园行”系列活动.旨在通过活动和知识普及提升大学生信息安全意识,并通过线下交流.技能分享.安全小活动以及 ...

  2. 卓豪ManageEngine参加2018企业数字化转型与CIO职业发展高峰论坛

    卓豪ManageEngine参加2018企业数字化转型与CIO职业发展高峰论坛 2018年10月20日,78CIO APP在北京龙城温德姆酒店主办了主题为“新模式.新动能.新发展”的<2018企 ...

  3. 区块链、云计算、大数据、人工智能、FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾

    区块链.云计算.大数据.人工智能.FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾 | 作者 韩婷 发布于 2016年12月26日. 估计阅读时间: 不到一分钟 | 欲知区块链.VR.Te ...

  4. 阿里云场景化阿里云企业数字化转型售前方法PSA

    阿里云场景化阿里云企业数字化转型售前方法PSA 目录 01 课程收获 理解企业数字化转型的概念.内涵.本质 了解企业数字化转型的要点.目标和切入点 掌握数字化转型项目售前阶段实践方法 场景化方案 阿里 ...

  5. RTE2021 回顾丨实践中的摸爬滚打,AI OPS 落地之路

    本文整理自声网Agora SD - RTN 网络传输质量负责人于涛在 RTE2021 实时互联网大会上的演讲分享.他在演讲中针对传统 OPS 痛点.AI OPS 的优势以及 AI OPS 工程化的难点 ...

  6. BPM助力企业数字化转型

    自九十年代末,流程管理开始引入国内,至今已经有20多年的历史了,由最初的部门级应用向企业级应用转变,大家的认知也经历了一系列的发展变化.不同阶段的信息化水平对企业的流程以及BPM平台也提出了不同的需求 ...

  7. 灵雀云受邀加入VMware 创新网络,共同助力企业数字化进程

        11月15日,在VMware主办的“VMware创新网络”2018高峰论坛上,VMware发布了VMware创新网络(VMwareInnovation Network,VIN)的长期发展规划和 ...

  8. ActiveReports 大数据分析报告:贸易争端与中国企业数字化转型

    2018年11月12日至18日,亚太经合组织(APEC)领导人非正式会议首次在南太平洋最大岛国巴布亚新几内亚的首都莫尔兹比港举行,本次会议的主题是:“把握包容性机遇,拥抱数字化未来”. 面对全球不断变 ...

  9. 企业数字化转型与SAP云平台

    我们生活在一个数字化时代.信息领域里发展迅猛的数字技术和成本不断降低的硬件设备,正以前所未有的方式改变着我们工作和生活的方式. Digital Mesh 美国一家著名的从事信息技术研究和提供咨询服务的 ...

  10. 如何通过免费开源ERP Odoo实现企业数字化转型深度分析(一)

    本文来自<开源智造企业数字化转型报告白皮书>的精选内容章节.请勿转载.欢迎您反馈阅读意见. 引言 在由消费者驱动的数字经济时代,创新之势锐不可挡.变革步伐从未如此迅速,并且还会越来越快.对 ...

随机推荐

  1. 2020版IDEA配置Tomcat 10出现卡主问题

    问题描述 配置了2020版的IDE和Tomcat,但是产生了,日志打印中途,卡住了的问题,如图: 18-Aug-2021 00:46:09.763 信息 [main] org.apache.catal ...

  2. C 语言编程 — 高级数据类型 — 字符串

    目录 文章目录 目录 前文列表 字符串 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本数据类型> <C ...

  3. java学习之旅(day.14)

    可变字符串 StringBuffer:可变长字符串,运行效率慢,线程安全 StringBuilder:可变长字符串,运行效率快,线程不安全 package com.zhang.lei; //Strin ...

  4. 防火墙规则之iptables

    防火墙规则之iptables 一 如何禁止外面应用对某个端口访问 iptables -I INPUT -p TCP ! --source 127.0.0.1 --dport 8080 -j DROP ...

  5. Swoole 源码分析之 Coroutine 协程模块

    首发原文链接:Swoole 源码分析之 Coroutine 协程模块 大家好,我是码农先森. 引言 协程又称轻量级线程,但与线程不同的是:协程是用户级线程,不需要操作系统参与.由用户显式控制,可以在需 ...

  6. ChatGPT还是有点东西的-public static <T> List<T> Arrays.asList(T... a) {...}

    背景 业务开发需要判断业务状态是否在30.40.50.60的集合内,所以写了以下代码 int[] inLiq = {30,40,50,60}; return Arrays.asList(inLiq). ...

  7. MySQL学习笔记-多表查询(上)

    多表查询(上) 一. 多表关系 在实际应用中,根据需求,设计的表结构之间存在联系,联系一般分为以下三种 一对多(多对一) 多对多 一对一 1. 一对多(多对一) 案例:部门与员工的关系,一个部门对应多 ...

  8. ko编译常见问题

    记录ko编译过程中遇到的常见问题: (1)找不到标准库头文件 解决方式:将lib库中的头文件链接到编译内核中.

  9. 为何Mysql数据库上读和代码读取的数据不一致

    上周,做了一个同步删除的功能,具体流程是,数据库删除-->调用第三方运行删除接口,同步删除. 具体流程 数据库删除数据后,这里使用标志删除,再调用第三方数据. 在调用第三方数据之前需要通过id查 ...

  10. RT-Thread Studio使用教程

    介绍 RT-Thread Studio是官方出品的一款专门针对RT-Thread嵌入式开发.部署.调试.测试的集成开发环境,它基于Eclipse开源项目开发,极大的提高了嵌入式开发者的开发效率,目前最 ...