「企业微服务架构」怎么弥合不同微服务团队之间的差距

简介: 「企业微服务架构」怎么弥合不同微服务团队之间的差距



当今高度可伸缩的web应用程序不是单一的代码库,而是无状态微服务和有状态数据存储的分类组合。这种现代web应用程序的典型体系结构模式解决了扩展、数据管理和开发吞吐量的某些问题。然而,这个解决方案带来了一个新问题:筒仓。分门别类的架构常常导致分门别类的管理和一个分门别类的团队。

在本文中,我们将简要探讨web应用程序体系结构的演变,更深入地研究筒仓问题,并讨论DC/OS这一开源应用程序平台如何解决这一问题。

应用程序架构背景

在过去的十年中,Web应用程序体系结构的趋势有了很大的发展。这些变化主要是由支持现代应用程序的三个需求驱动的:

  • 沉重,负载大,多变;
  • 增加数据的收集和使用;
  • 开发速度快。

面对这些挑战,开发人员不可避免地会离开传统的单机应用程序,将工作分布到多个服务器上。第一种常见模式是将数据库服务器与主应用程序服务器分离。一旦这个模式建立起来,它就很自然地通知了随后的架构模式。当分析数据库与业务数据库分离时,两台服务器变成了三台。静态资产的单独对象存储引入了一个新组件。索引和搜索服务器可能会添加到混合中。

这种演进的逻辑结果是许多当代web应用程序中的典型架构:无状态、容器化微服务和有状态、大容量数据存储的混合。这种方法解决了它想要解决的所有三个挑战:

可扩展性。

根据定义,无状态服务不需要在会话间持久化数据。这意味着它们可以按需复制,并且每个副本不需要知道或与其他副本协调。此外,由于核心应用程序功能由许多不同的微服务组成,因此可以只扩展那些大量使用的服务。

数据管理。

将数据持久化在一个或多个“大数据”存储中,这些存储是为跨多个虚拟机进行分片而优化的,这使得根据需要扩展存储相对容易。也许更重要的是,持久数据存储的广泛选项允许开发人员以适合其用途的自定义方式存储数据。

开发速度。

微服务和数据存储是可组合的,这意味着它们可以被排列并重新组合到新的应用程序中。这使得快速开发新应用程序变得更加容易。

尽管如此,现代应用程序体系结构的所有好处都会产生自己的一系列问题。


筒仓

每个架构组件都有不同的基础设施需求、不同的部署方法、不同的扩展需求和不同的维护挑战。发展一套多样化的操作程序来处理这些需求是不可避免的。这通常会导致筒仓,在筒仓中,单独的团队处理这些单独的操作。

团队筒仓是一种典型的组织响应,用于处理不同的操作需求。它通常在早期就有意义,因为它可以让人们专注于特定的问题和发展专业知识。然而,从长远来看,这种类型的仓储效率低下,增加了复杂性和官僚开销。

尽管团队筒仓是有问题的,技术筒仓也是有问题的。虽然关注点分离和松散耦合是微服务架构的强大优势,但始终需要理解系统并与整个系统交互。无论是用于测试、部署自动化、审计还是分析,系统中都有大量的临时管理过程。这往往会加强服务之间的耦合。

弥合差距

临时管理过程和团队筒仓的另一种选择是一个单一的平台,它提供了具有统一管理接口的分类应用程序体系结构的好处。其中一个这样的平台是DC/OS,这是一个开源的数据中心操作系统,允许您在池计算资源上部署和管理容器和大数据服务。

DC/OS将一组Linux系统组合成一个集群。应用程序由在DC/OS层运行的多个包组成。开发人员可以构建自己的包,但是已经有许多包可用。这些包括关系数据库和非关系数据库、文件系统、对象存储、web服务器、消息队列、数据处理引擎和机器学习工具。Docker也可以作为DC/OS包提供,为实现核心业务功能的定制或现成应用程序提供可扩展的容器平台。

主节点跨集群协调工作,根据可用资源将计算任务和存储需求委派给代理节点。代理节点的调度由开源的Apache Mesos分布式系统内核管理。Apache Mesos运行一个两级调度过程。在一个层次上评估每个DC/OS级应用程序的需求,而第二个层次为这些需求提供底层计算资源。

新的代理或主节点可以配置并添加到系统中,以方便扩展计算能力。DC/OS集群可以组装在私有数据中心中,也可以构建在云计算平台(如AWS、Google cloud或Microsoft Azure)上。

在DC/OS上构建一个应用程序可以提供分类的、面向服务的开发方法的优势,同时避免多个不同平台的孤立趋势。

相关文章
|
13天前
|
安全 容灾 网络安全
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
|
15天前
|
自然语言处理
Scaling Law 撞墙?复旦团队大模型推理新思路:Two-Player架构打破自我反思瓶颈
复旦大学研究团队提出Two-Player架构,通过分离推理和批评模型的角色,突破大语言模型(LLM)在复杂推理任务中的自我反思瓶颈。该架构利用批评模型提供逐步反馈,监督推理模型,提升其性能。研究开发了AutoMathCritique框架,收集76,321个响应数据,实验表明批评模型显著提高演员模型的探索效率和解决方案多样性。论文地址:http://arxiv.org/abs/2411.16579
30 2
|
3天前
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。
|
1月前
|
弹性计算 负载均衡 安全
【上云基础系列-02】企业推荐!必学必会的上云标准架构(弹性架构)
本文介绍上云标准弹性架构,针对企业业务发展需求,推荐使用多服务器的弹性架构而非单体架构。方案包含负载均衡、NAT网关、云服务器ECS、云数据库RDS等组件,确保业务的负载分担、冗余备份及平滑扩展。通过统一公网暴露面管理和VPC网络设计,保障架构的稳定性、安全性和可扩展性。该架构适用于中小企业上云,避免性能瓶颈和迭代升级困难,支持业务持续发展。更多内容可参考下方演进说明总览。
|
10天前
|
监控 安全 Cloud Native
企业网络架构安全持续增强框架
企业网络架构安全评估与防护体系构建需采用分层防御、动态适应、主动治理的方法。通过系统化的实施框架,涵盖分层安全架构(核心、基础、边界、终端、治理层)和动态安全能力集成(持续监控、自动化响应、自适应防护)。关键步骤包括系统性风险评估、零信任网络重构、纵深防御技术选型及云原生安全集成。最终形成韧性安全架构,实现从被动防御到主动免疫的转变,确保安全投入与业务创新的平衡。
|
3月前
|
监控 数据可视化 架构师
为什么企业需要开展架构治理?
随着数字化转型加速,企业面临的技术和业务环境日益复杂,传统架构难以应对快速变化的需求。企业架构治理成为数字化转型的关键,通过确保技术与战略对接、优化资源利用、降低风险和复杂性,提升企业灵活性、效率和创新能力,支持快速响应市场变化,推动数字化转型成功。
218 7
为什么企业需要开展架构治理?
|
2月前
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
100 1
|
1月前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
|
3月前
|
监控 数据可视化
如何通过建模工具实现企业架构治理全流程管理
企业架构治理工具通过构建统一的架构语言、可视化建模、流程管理、资源整合和多场景分析,实现企业架构的全生命周期管理。该工具赋能企业数字化转型,确保业务、平台、数据及技术相互耦合闭环,提供从规划到决策的一站式服务,助力提升业务运营、优化组织管理和加速数字化建设。
63 2
如何通过建模工具实现企业架构治理全流程管理
|
2月前
|
人工智能 运维 监控
云卓越架构:企业稳定性架构体系和AI业务场景探秘
本次分享由阿里云智能集团公共云技术服务部上海零售技术服务高级经理路志华主讲,主题为“云卓越架构:企业稳定性架构体系和AI业务场景探秘”。内容涵盖四个部分:1) 稳定性架构设计,强调高可用、可扩展性、安全性和可维护性;2) 稳定性保障体系和应急体系的建立,确保快速响应和恢复;3) 重大活动时的稳定重宝策略,如大促或新业务上线;4) AI在企业中的应用场景,包括智能编码、知识库问答、创意广告生成等。通过这些内容,帮助企业在云计算环境中构建更加稳定和高效的架构,并探索AI技术带来的创新机会。

热门文章

最新文章