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

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. AIRIOT答疑第1期 | 零开发基础也能干物联网平台项目?

    当然可以! 物联网低代码平台以零门槛.部署快.灵活性高.满足二次开发等特点,成为近两年来IOT服务的生力军.项目团队即使没有研发人员,也可以像拼乐高一样快速搭建物联网平台,功能全面,满足多数业务场景下 ...

  2. es部署

    部署单机版es tar xf elasticsearch-7.16.0-linux-x86_64.tar.gz./bin/elasticsearch -dcan not run elasticsear ...

  3. JavaScript字符串对象转JSON格式

    JavaScript字符串对象转JSON格式 原始数据                 {  xAxis: {    type: 'category',    data: ['Mon', 'Tue', ...

  4. MySQL所有的主从同步架构搭建方式

    目录 一.前言 二.关于MySQL主从同步 三.部署规划 3.1 服务器规划 3.2 数据库目录规划 四.准备工具 五.四台机器上使用通用二进制包安装MySQL(以node7为例) 5.1 上传MyS ...

  5. winform——windows 服务的安装 卸载 启动 停止

    安装服务和卸载服务采用process启动命令行的方式.启动服务和停止服务用到了 System.ServiceProcess.ServiceController这个类.   程序是这样运行的,首先启动服 ...

  6. golang 怎么获取kubernetes deployments的状态?

    如果我们需要把k8s的信息展示为一个友好的web页面.那么deployment 的信息基本上是非常重要的(大部分的服务都是使用deployment部署). 从yaml 中我们能获取到很多关于deplo ...

  7. EF CORE 命令行

    EF 命令行 使用管理台模式 Add-Migration 添加一个新的迁移(名词),string是迁移的名称remove-Migration 删除上一次的迁移Update-Database 更新最近一 ...

  8. MySQL查看实时执行的SQL语句

    MySQL默认不能实时查看执行的SQL语句,因为这会消耗一定的资源. 要开启这个功能,稍微配置一下,打开这个LOG记录就可以了. 1 查看LOG功能 首先,查看是否已经开启实时SQL语句记录. mys ...

  9. Flutter(五):Flutter 加入现有App的方案选择(Flutter_Boost)

    一.介绍 用 Flutter 一次性重写整个已有的应用是不切实际的.对于这些情况,Flutter 可以作为一个库或模块,集成进现有的应用当中.模块引入到您的 Android 或 iOS 应用(当前支持 ...

  10. kubernetes命令补全k8s命令补全

    echo "source <(kubectl completion bash)" >> ~/.bashrc source <(kubectl complet ...