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

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



当今高度可伸缩的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上构建一个应用程序可以提供分类的、面向服务的开发方法的优势,同时避免多个不同平台的孤立趋势。

相关文章
|
10月前
|
机器学习/深度学习 人工智能 监控
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
大型动作模型(LAMs)作为人工智能新架构,融合神经网络与符号逻辑,实现企业重复任务的自动化处理。通过神经符号集成、动作执行管道、模式学习、任务分解等核心技术,系统可高效解析用户意图并执行复杂操作,显著提升企业运营效率并降低人工成本。其自适应学习能力与上下文感知机制,使自动化流程更智能、灵活,为企业数字化转型提供坚实支撑。
634 0
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
|
10月前
|
人工智能 数据可视化 算法
企业想做数智化,数据仓库架构你得先搞懂!
在数智化浪潮下,数据驱动已成为企业竞争力的核心。然而,许多企业在转型过程中忽视了数据仓库这一关键基础。本文深入解析数据仓库的重要性,厘清其与数据库的区别,详解ODS、DWD、DWS、ADS分层逻辑,并提供从0到1搭建数据仓库的五步实战方法,助力企业夯实数智化底座,实现数据治理与业务协同的真正落地。
企业想做数智化,数据仓库架构你得先搞懂!
|
8月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
8月前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
340 8
|
11月前
|
人工智能 自然语言处理 供应链
AI时代企业难以明确大模型价值,AI产品经理如何绘制一张‘看得懂、讲得通、落得下’的AI产品架构图解决这一问题?
本文产品专家系统阐述了AI产品经理如何绘制高效实用的AI产品架构图。从明确企业六大职能切入,通过三层架构设计实现技术到业务的精准转译。重点解析了各职能模块的AI应用场景、通用场景及核心底层能力,并强调建立"需求-反馈"闭环机制。AI产品专家三桥君为AI产品经理提供了将大模型能力转化为商业价值的系统方法论,助力企业实现AI技术的业务落地与价值最大化。
602 0
|
11月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
1449 0
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
760 12
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。

热门文章

最新文章