当前位置:首页 > 数码 > 10个必不可少的云原生架构设计模式 (必不可以是什么意思)

10个必不可少的云原生架构设计模式 (必不可以是什么意思)

admin4个月前 (05-10)数码37

在构建云原生应用程序时,不同的软件架构方法被采用以最大化云计算模型的优势。这些应用程序需要能够在动态编排和容器化环境中运行。云原生计算是一种在现代、动态环境(如公有云、私有云和混合云)中构建和运行可扩展应用程序的软件开发方法。在云环境中,软件架构的主要目标是关注点的分离,特别是通过将软件组件模块化到容器中。

常见模式

为了实现上述目标,有几种模式可供选择。以下是云原生应用程序架构中一些常用的模式:

边车/副车模式

边车/副车模式用于将主要应用程序的一些外围功能或附加功能抽象为独立的微服务。这种模式可以实现服务之间的独立性,打破紧密耦合的组件。边车/副车模式适用于应用程序使用相同的语言和库,并且需要一个共享生命周期但可以独立部署的服务。例如,将日志记录、配置等功能抽象到单独的微服务中,如下面的示例所示,每个主要服务都有一个关联的辅助服务,它们之间形成一对一的关系。

但是,如果为每个实例部署边车服务的资源成本超过隔离优势,那么在应用程序中实施边车/副车模式可能不是一个明智的决策。

大使模式

大使模式经常用于扩展现有服务的网络功能,特别是对于那些过于古老或复杂且无法修改的服务。大使服务可以被视为与客户端共存的一个进程外代理。通过此模式添加额外的代理会增加延迟。与边车不同,这种模式可以用于多个服务。这种模式对于增强遗留服务的连接功能非常有效。如果低延迟是关键因素,使用大使模式可能会增加代理开销成本,因此不是一个好的选择。

散点/聚集模式

散点/聚集模式是一种用于并行处理大规模数据集的设计模式。这种模式的要点是有一个聚合器,汇总来自不同服务的响应并提供报价。这种模式对于控制消息流到所有微服务非常有用。散点/聚集模式适用于需要对大量数据进行并行处理的情况,如分布式计算、数据分析、并行搜索等。它可以提高系统的处理速度和吞吐量,利用多个处理单元同时处理数据,从而加快处理过程。

前端后端模式

必不可以是什么意思

前端后端模式的主要要点是在前端和实际后端之间添加另一层后端,这被称为前端后端。这是工业界广泛应用的最受欢迎的模式之一。通过添加这种额外的层,可以在不同的前端和后端服务器之间进行编排,验证过滤来自前端的响应,映射和转换来自后端的数据模型。

反腐败层模式

反腐败层模式用于解决在不同子系统或微服务之间通信时的语义不匹配问题。当存在多个子系统或微服务它们各自使用不同的语义和数据结构时,可能会导致通信困难和混乱。反腐败层模式的目标是在这些不兼容的系统之间建立一个翻译或转换层,以确保它们之间能够正确地交互和通信。这个层充当了一个中间件,负责将一个系统的请求转换为另一个系统可以理解的格式,并将响应从一个系统的格式转换为另一个系统可以接受的格式。

命令与查询职责分离模式

命令与查询职责分离模式旨在将读操作(查询)和写操作(命令)分离开来,以优化系统的性能、可伸缩性和灵活性。在传统的应用程序中,读操作和写操作通常共享相同的数据模型和数据库,这会产生一些问题,例如当需要进行复杂查询时,可能会对写操作产生负面影响。命令与查询职责分离模式通过将读操作和写操作分离到不同的组件或模块中来解决这个问题,从而提高性能和可伸缩性。

结论

这些模式只是云原生应用程序架构中众多可用模式中的一部分。选择合适的模式取决于应用程序的具体需求和约束。通过仔细考虑这些模式的优点和缺点,开发人员可以设计出高效、可扩展且灵活的云原生应用程序。


什么是云原生应用?

云原生是一系列云计算技术体系和企业管理方法的集合,既包含了实现应用云原生化的方法论,也包含了落地实践的关键技术。 云原生应用利用容器、服务网格、微服务、不可变基础设施和声明式 API等代表性技术,来构建容错性好、易于管理和便于观察的松耦合系统,结合可靠的自动化手段可对系统做出频繁、可预测的重大变更,让应用随时处于待发布状态。 云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用,借助平台的全面自动化能力,跨多云构建微服务,持续交付部署业务生产系统。 以容器和编排体系为基础的云原生技术栈,具备几个显著的能力特点:第 一,极 致弹性能力,以容器化方式运行的应用程序,其启动和停止非常快,一般处在秒级或毫秒级。 第二,故障自愈、服务自治能力,采用容器编排框架,可以管理成千上万的应用容器,当某个应用出现故障时,编排系统能够及时发现并自动摘除问题应用,同时智能调度到有效资源上,保证了应用系统的稳定运行。 第三,大规模跨环境扩展能力,基于容器编排系统的PaaS平台,可以跨越部署到不同的环境中,包括不同的网络环境,不同的机房,不同的数据中心或不同的公有云,利用联邦集群的模式,可以让应用在跨云的环境中流转,可以让不同的云环境作为资源补充,或者创建相同的应用到不同的数据中心,以此作为容灾备份。 基于云原生以上的几个特点,在容器云PaaS、DevOps、微服务治理、服务网格、API网关等等方面,时速云做的还不错,他们是一家全栈云原生技术服务提供商,你可以了解一下。

云原生应用是什么?它的特点有哪些?

云并非把原先在物理服务器上跑的东西放到虚拟机里跑,真正的云化不仅是基础设施和平台的事情,应用也要做出改变,改变传统的做法,实现云化的应用——应用的架构、应用的开发方式、应用部署和维护技术都要做出改变,真正的发挥云的弹性、动态调度、自动伸缩??一些传统IT所不具备的能力。 这里说的“云化的应用”也就是“云原生应用”。 云原生架构和云原生应用所涉及的技术很多,如容器技术、微服务等,而云原生应用最大的特点就是可以迅速部署新业务。 在企业里,提供新的应用程序环境及部署软件新版本通常所需时间以日、周甚至以月计算。 这种速度严重限制了软件发布所能承受的风险,因为犯错及改错也需要花费同样的时间成本,竞争优势就会由此产生。 所以云原生不是一个产品,而是一套技术体系和一套方法论,而数字化转型是思想先行,从内到外的整体变革。 云原生包括DevOps、持续交付、微服务、敏捷基础设施、康威定律等,以及根据商业能力对公司进行重组的能力,既包含技术、也包含管理,可以说是一系列云技术和企业管理方法的集合,通过实践及与其他工具相结合更好地帮助用户实现数字化转型。 CNCF(云原生计算基金会)认为云原生系统需包含的属性:1、容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。 在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。 2、自动化管理:统一调度和管理中心,从根本上提高系统和资源利用率,同时降低运维成本。 3、面向微服务:通过松耦合方式,提升应用程序的整体敏捷性和可维护性。

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: 架构

“10个必不可少的云原生架构设计模式 (必不可以是什么意思)” 的相关文章

实时的跨微服务数据访问-可信-微服务架构中的数据一致性-保障可靠 (跨服聊天微信例子)

实时的跨微服务数据访问-可信-微服务架构中的数据一致性-保障可靠 (跨服聊天微信例子)

引言 在微服务架构中,多个服务共同协作以执行原子操作。数据一致性是跨越多个服务执行分布式事务时面临的一项挑战。如果涉及分布式事务流程的某个参与者出现故障,可能会导致数据不一致,例如未下订单却向客...

你自称懂架构-架构设计的真谛!-来这里看看 (架构怎么理解)

你自称懂架构-架构设计的真谛!-来这里看看 (架构怎么理解)

1. 引言 抢红包已经成为春节期间不可或缺的娱乐活动,自2015年微信推出红包功能以来,每年参与抢红包的用户数和红包发放量都呈爆发式增长。微信红包系统的背后蕴含着怎样的技术架构和设计理念,一...

微服务架构监控的原则 (微服务架构监控)

微服务架构监控的原则 (微服务架构监控)

微服务环境中的监控系统:变革与指导原则 引言 微服务架构的兴起彻底改变了软件开发,带来了速度和灵活性。随之而来,监控系统作为微服务控制系统的核心组成部分,也面临着全面的改造需求,以适应微服务环境...

哈啰云原生架构落地实践探索 (哈罗云起)

哈啰云原生架构落地实践探索 (哈罗云起)

全网容器化后一线研发会面临一系列使用问题,包括时机、容量、效率和成本问题,弹性伸缩是云原生容器化后的必然技术选择。 当时第一时间考虑用原生HPA组件,但在实际调研和小规模使用的时候发现了很多...

微服务架构中的不可或缺的服务治理工具-Eureka (微服务架构中如何处理服务间的通信)

微服务架构中的不可或缺的服务治理工具-Eureka (微服务架构中如何处理服务间的通信)

引言 Eureka是Netflix OSS(开源软件)项目的一部分,它是一个用于实现微服务架构中的服务注册和发现的开源工具。在当今庞大且复杂的微服务系统中,Eureka扮演着至关重要的角色,帮助...

CSaaS架构-开启数字孪生软件架构的新纪元 (csaas架构)

CSaaS架构-开启数字孪生软件架构的新纪元 (csaas架构)

简介 Browser/Server (BS) 和 Client/Server (CS) 是两种不同的软件架构模式,具有不同的特点和优缺点。本文将对这两种架构进行比较,并介绍山海鲸可视化的 C...

掌控复杂性-创造灵活可扩展的系统-六边形架构 (复杂事物掌控力)

掌控复杂性-创造灵活可扩展的系统-六边形架构 (复杂事物掌控力)

六边形架构是一种架构模式,将外部系统与核心应用程序分隔开来。它的思想很简单:从一个六边形开始,然后应用端口和适配器。 六边形架构的六个边 六边形有六个边,但六边形的形状本身并没有特别含...

六种最关键的架构模式 (六种最关键的职业)

六种最关键的架构模式 (六种最关键的职业)

架构模式:六种常见且关键的模式 引言 在软件开发中,架构模式是一种经过验证的解决方案,可以帮助解决常见的开发问题。这些模式提供了重用性的设计方案,允许开发人员创建可维护、可扩展和易于测试的应用程序...