微服务Microservices——应用架构的未来

云原生时代微服务的高可用架构设计 简介:在8月20日“阿里巴巴技术质量精品课”上,来自蚂蚁的经国分享了对云原生时代微服务的高可用架构设计的全面解析,为大家介绍了应用架构演进路径、云原生时代的技术福利、高可用架构的设计原则以及经典案例的设计。 演讲嘉宾简介: 经国,蚂蚁金服资深技术专家,毕业于浙江大学。2014年加入蚂蚁金服,先后负责过支付宝的单元化、弹性、去ORACLE等架构升级,担任多年支付宝双十一、双十二、新春红包大型活动等技术保障负责人,现为蚂蚁金服数字金融线担任技术风险架构师,负责高可用架构、技术风险平台、应急快反等技术底盘的建. 阅读详情

能够构建、演变和扩展大型应用程序对于组织来说是至关重要的,但是所涉及的挑战使其成为一项困难的任务。正因为如此,微服务已经成为构建现代云应用的主导模式,它将单个组件分解为独立的服务,这些服务围绕着特定的业务功能。

 

微服务体系架构是一种分布式系统的方法,它促进使用具有自己生命周期的细粒度服务。由于微服务主要围绕单个业务流程/功能进行建模,它们避免了传统分层(多层/n层)体系结构(如单层应用程序)的问题。微服务还集成了过去十年出现的新技术和技术,这有助于它们避免许多面向服务的体系结构实现的缺点。

 

虽然使用微服务可以使大型应用程序更易于管理,但是在任何场景中,构建一个可靠的分布式系统都是极具挑战性的,因为在处理失败、一致性和性能等方面有很多考虑因素。

 

本文详细介绍了微服务体系结构的路径,并分析了该模式的优缺点。它还讨论了帮助开发人员和应用程序架构师实现其应用程序目标的最佳实践。

 

关于领域(Domain)

SOA

面向服务的体系架构SOA是一种可根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用的方法。每个服务将实现预定义的业务目标并执行离散的工作单元。服务是独立的,不依赖于其他服务的上下文或状态。它们在分布式系统体系结构中工作。

 

在某些方面,SOA是分布式技术(如COM和CORBA)的进化。类似地,SOA强调服务和使用者(WSDL)和特定服务发现(UDDI)、传输(SOAP)、中介(WS-mediation)、路由(WS- addressing)、安全性(WS-security、WS-trust、WS- secure conversation等)以及分布式计算的其他方面之间的严格契约。此外,它非常强调通过企业存储库、服务生命周期管理和服务级别监视工具来设计、开发和操作服务治理。

1. 介绍

 

微服务是一种体系架构风格。它是一种将单个应用程序开发为一组小型服务的方法,每个应用程序都运行自己的进程,并经常使用HTTP API与轻量级机制通信。这些服务是围绕业务功能构建的,可以独立部署。

 

微服务模式有很大的好处,特别是在支持复杂企业应用程序的敏捷开发和交付方面。

 

微服务体系结构模式将应用程序分解为可管理的块,从而实现了模块化的级别,在实践中,使用单块代码库实现模块化是极其困难的。因此,单个服务的开发速度要快得多,也更容易理解和维护。

 

另一种方法是使用轻量级消息总线。用外行的话说,从微服务构建的应用程序的目标是尽可能地实现解耦和内聚。它们拥有各自的域逻辑,更像是过滤器——接收请求、适当地应用逻辑并生成响应。

 

微服务体系结构的本质并不新鲜。分布式系统的概念由来已久。微服务体系结构也类似于SOA。微服务背后的理念是构建大型的、复杂的、长期存在的应用程序,一套统一的(有组织的或相互关联的)服务,随着时间的推移而演进。“微服务”一词强烈建议服务应该是小的。

 

然而,尽管拥有小型服务是可取的,但这不应该是主要目标。相反,您应该致力于将您的系统分解为服务,以解决开发和部署问题。有些服务可能确实很小,而另一些可能很大。

 

Application Development Evolution

 

 

微服务Microservices——应用架构的未来

 

单层应用程序(Single Tier Applications)

 

在早期的进化过程中,这些应用被开发并部署为单个实体。这些应用程序的单个层很容易部署,因为它们只有一个代码库和部署配置。

这种应用程序的可扩展性是一个巨大的挑战,因为它只能通过复制整个应用程序来完成。这直接增加了业务的成本,并随着流量和负载的增加而浪费资源。

 

多层架构(Multi-Tier (or n-Tier))

 

单层/整体应用程序的缺点导致了多层体系结构的起源。这种新的体系结构将应用程序分解为逻辑分布式层,从而产生高效的可伸缩性。这种方法通常将表示层、数据层和业务逻辑层分开。所以缩放方法分别应用于各个层而不是整个应用。

 

现在,当使用模式构建的应用程序增长时,它会对业务逻辑层造成压力,并导致monolith的许多缺点。同样,作为一个单个实体,可扩展性是具有挑战性和昂贵的。

 

Service Oriented Architecture (SOA)

 

SOA (SOA的发展)背后的想法是将应用程序视为业务功能。

 

随着越来越多的组织转向自动化/数字化,它已经成为业务的骨干,服务于快速变化的业务需求。这些快速变化的业务需求,使得开发人员开始将他们的应用程序看作是业务能力的集合,从而使组件比它们在栈中的位置更能隔离组件。例如,开发人员将创建一个处理用户身份验证的用户服务、一个处理账单的订单服务或一个处理发送电子邮件的通知服务。这样做可以提供更有效的可伸缩性,因为每个服务都更小、更专注。

 

虽然这个模式为构建有效的应用程序体系结构提供了框架,但是由于不必要的复杂抽象和遗留协议,它的实践通常是无效的。开发人员将尝试使用SOA来连接各种应用程序,这些应用程序都使用不同的语言,需要为企业服务总线提供额外的层。

 

这导致了陈旧的、昂贵的配置,而这些配置无法跟上技术和业务领域的发展。

 

2. Microservices – Artefacts

为什么是微服务——新模式?

 

IT技术的演变极大地改变了全球商业的视角。在早期,它被认为是对企业/组织的帮助。最初,它用于减少业务功能/单元的手工工作。

如今,它被用来改造企业,创造更多的收入。所以现在它不仅仅是一个支持函数/责任,而是业务的主要功能线。

 

Gartner在其2015年十大战略技术趋势中指出,“为了应对数字业务快速变化的需求,以及快速向上或向下扩展系统,计算必须从静态模型转向动态模型。”规则、模型和代码可以通过应用程序动态地组装和配置网络所需的所有元素。

 

考虑应用程序架构的这种转变也引入了实践上的转变。Gartner进一步预测,“对于许多组织来说,迈向web规模IT未来的第一步应该是DevOps(开发操作)——以一种协调的方式将开发和操作结合在一起,以推动应用程序服务的快速、持续增量开发。”

 

通过使用web scale,组织可以更容易地构建类似于Amazon、谷歌和Facebook提供的应用程序和基础设施。它使他们能够在企业It环境中进一步拥抱云,将大型服务提供者的功能交付给内部用户。

与 SOA的区别

 

在定义特性方面,微服务模式比SOA更清晰,提供了满足现代应用程序体系结构需求的真实框架。微服务通常被称为“SOA做得好:”

 

SOA专注于独立的技术系统,而微服务则专注于独立的业务系统。

 

微服务模式的目的不是将各种应用程序连接在一起,而是创建一个单一的、内聚的应用程序,该应用程序由独立开发和部署的服务组成,每个服务遵循单一的职责原则。但是,“微服务”一词可能会欺骗微服务的特性,因为规模不是微服务的定义特征。虽然通常很小,但重要的是每个服务都是它自己的封装过程,可以独立开发和部署。通过限制服务功能的范围,开发人员可以确保他们不会无意间得到许多解耦的整体。

 

与现代云一样,服务之间通过HTTP通过RESTful api进行通信,传递JSON数据,通常通过消息队列来确保可靠性。单个微服务通常是异步处理的,由事件(如API调用、push queue、schedule或webhook)触发。围绕通信和处理的轻量级、高效的框架进一步将微服务与SOA区分开来。

 

将应用程序分解为多个服务

 

还有其他一些有规模的架构风格。《The Art of Scalability》(可扩展性的艺术)一书描述了一个非常有用的三维可扩展性模型,如下图所示。

 

 

微服务Microservices——应用架构的未来

 

 

在这个模型中,通常使用的方法是通过在负载均衡模块后面运行多个相同副本来扩展应用程序,称为x轴缩放。这是提高应用程序容量和可用性的好方法。

 

当使用z轴扩展时,每个服务器都运行相同的代码副本。在这方面,它类似于x轴缩放。最大的区别是,每个服务器只负责数据的一部分。z轴缩放,像x轴缩放,提高了应用程序的容量和可用性。

 

但是,这两种方法都不能解决增加开发和应用程序复杂性的问题。

 

为了解决这些问题,我们需要应用y轴缩放

 

z轴缩放比例分割相似的东西,y轴缩放比例分割不同的东西。在应用程序层,y轴伸缩将一个单片应用程序分解为一组服务。

 

每个服务都实现一组相关的功能,如订单管理、客户管理等。

 

作为一种模式,微服务通过将功能元素分解为单独的服务来促进y轴可伸缩性,而不是传统的复制。

理想情况下,每个服务应该只有一小部分职责。SRP(单一责任原则)将类的责任定义为更改的理由,并且一个类应该只有一个更改的理由。将SRP应用到服务设计也是有意义的。

 微服务架构 –通信机制

在微服务体系结构中,客户端和应用程序之间以及应用程序组件之间的通信模式与单片应用程序不同。让我们首先看看应用程序的客户端如何与微服务交互的问题。之后,我们将研究应用程序中的通信机制。

直接调用

一个应用程序客户端(如本机移动应用程序)可以向各个服务发出RESTful HTTP请求,如下图所示。

 

微服务Microservices——应用架构的未来

 

 

在单个服务的api和客户端所需的数据之间,可能会出现严重的粒度不匹配。

 

例如,显示一个web页面可能需要调用大量的服务。例如,Amazon.com描述了一些页面如何需要调用100+服务。即使在高速互联网连接上发出如此多的请求,更不用说低带宽、高延迟的移动网络了,这将是非常低效的,并导致糟糕的用户体验。

 

API 网关模式

这是一种更好的方法,因为客户端将会在每个页面上生成少量的请求,可能只有一页,通过internet到前端服务器(称为API网关)。

 

微服务Microservices——应用架构的未来

 

 

API网关位于应用程序的客户端和微服务之间。它提供为客户定制的api。API网关为移动客户端提供粗粒度的API,为使用高性能网络的桌面客户端提供细粒度的API。在本例中,桌面客户端发出多个请求来检索关于产品的信息,而移动客户端发出一个请求。

 

API网关通过在高性能LAN上请求一些微服务来处理传入的请求。在本例中,来自桌面客户端的细粒度请求被简单地代理到相应的服务,而来自移动客户端的每个粗粒度请求通过聚合调用多个服务的结果来处理。

 

3. 微服务的优势

这种组件的分离为构建和维护高度可伸缩的服务提供了更有效的环境。独立开发和部署的更小的服务更容易维护、修复和更新,从而为响应当今不断变化的环境提供更灵活的功能。

模块化

微服务以服务为单位;每个服务都有其边界,您不能简单地绕过边界,以便能够独立地开发、部署和扩展服务。

Service-Specific Database

微服务是松散耦合的,并且拥有自己的数据库,因此服务不会通过持有数据库锁来阻塞其他服务。

故障隔离

微服务体系结构具有更好的故障隔离,一个服务的问题不会影响其他服务,其他服务将继续正常工作。

可伸缩性

 

在单个服务级别上的扩展变得更加有效,并且是按需的。可以并发地处理单个任务,而不影响应用程序的其余部分。

 

分离应用程序的组件可以减少单个bug或硬件故障导致整个系统崩溃的可能性(消除单个故障点)。失败的进程可以被隔离,并且在到达之前可以退出端点。

 

技术/语言的灵活性

每个单独的服务可以使用不同的语言,基于开发人员的偏好、任务适合性,或者匹配特定的库。

除此之外,以下几点也是微服务的主要优势:

  • 微服务体系结构为开发人员提供了独立开发和部署服务的自由。

  • 小型团队就可以开发微服务。

  • 不同服务的代码可以用不同的语言编写。

  • 易于集成和自动部署(使用开源连续集成工具,如Jenkins, Hudson等)

  • 对于开发人员来说,很容易理解和修改,因此可以帮助一个新团队快速高效地工作。

  • 可以更有效地对API进行版本控制,因为各个服务可以遵循自己的方案。主要版本可以在应用程序级别完成,而服务可以根据需要进行更新。

  • 分离应用程序的组件可以减少单个bug或硬件故障导致整个系统崩溃的可能性。失败的进程可以被隔离,下端点可以退役直到到达(消除单个失败点)。

  • 开发人员可以利用最新的技术。

  • 代码是围绕业务功能组织的。

  • 启动web容器的速度更快,因此部署速度也更快。

  • 当应用程序的某个部分需要更改时,只能修改和重新部署相关的服务——不需要修改和重新部署整个应用程序。

  • 更好的故障隔离:如果一个微服务失败,另一个将继续工作(尽管单个应用程序的一个问题区域可能危及整个系统)。

  • 易于扩展和与第三方服务集成。

  • 不需要长期围绕一个技术栈。

4. Microservices的缺点

将应用程序分解为独立的服务意味着现在需要维护的活动部件更多了。这也会带来一些挑战。

复杂的业务流程(Complex Orchestration)

虽然微服务的一个关键好处是它的简化编排功能,但更多的服务意味着保持更多的部署流。DevOps在这个模式中扮演了更重要的角色,因为每个服务必须在整个生命周期中正确配置。

服务间通信

解耦服务需要一种可靠、有效的通信方式,同时不会减慢整个应用程序的速度。通过网络交付数据会带来延迟和潜在的故障,这会影响用户体验。一种常见的方法是引入消息队列作为可靠的传输层。

测试

虽然严格地保持代码和依赖关系意味着为特定的服务提供一个更简单的开发环境,但是它确实带来了与整个应用程序相关的测试的挑战。服务通常需要相互通信或依赖数据源或API。

然后,独立测试一个服务需要一个完整的测试环境才能有效。

    • 微服务体系结构带来了大量的操作开销。

    • 需要DevOps技术 

    • 分布式系统管理起来很复杂。

    • 由于分布式部署,默认跟踪是个问题。

    • 当服务数量增加时,整个产品的管理变得复杂。

5. 结论

 

单体架构模式是构建企业应用程序的常用模式。它在小型应用程序中工作得相当好:开发、测试和部署小型单片应用程序相对简单。

 

然而,对于大型、复杂的应用程序,单体架构会成为开发和部署的障碍。持续交付是很难做到的,而且您经常被永久地限制在您最初的技术选择中。对于大型应用程序,使用将应用程序分解为s组服务的微服务体系结构更有意义。

 

微服务体系结构有许多优点。例如,单个服务更容易理解,可以独立于其他服务开发和部署。使用新语言和框架也要容易得多,因为您可以一次尝试一种服务的新技术。

 

微服务体系结构也有一些明显的缺陷。特别地,应用程序要复杂得多,并且有更多的活动部件。您需要高级的自动化,例如PaaS,以有效地使用微服务。

 

在开发微服务时,还需要处理一些复杂的分布式数据管理问题。尽管存在缺陷,微服务体系结构对于快速发展的大型、复杂应用程序是有意义的,特别是对于saas风格的应用程序。

 

有各种策略可以逐步地将现有的单体应用程序发展到微服务体系结构。开发应该实现作为独立服务的新功能,并编写胶水代码将服务与整体集成。

 

迭代地识别组件以从整体中提取并转换为服务也是有意义的。虽然演进并不容易,但比尝试开发和维护一个笨拙的单片应用程序要好。

 

References

  1. Fowler, Martin, and Lewis, James [25 March 2014] Microservice Architecture.

  2. http://martinfowler.com/articles/Microservices.html

  3. http://Microservices.io/patterns/Microservices.html

  4. http://www.infoq.com/presentations/Micro-Services

 

 

请关注公众号:程序你好

1、微服务 Web API 入门指南 本文是一篇关于微服务架构与 Web API 的入门指南,详细介绍了微服务和 Web API 的基本概念,比较了微服务架构与单体架构的差异,并探讨了 Python 生态系统在开发微服务 API 中的优势。文章还分析了微服务开发和管理的挑战,并提供了相关解决方案和最佳实践。 阅读详情

相关推荐

7、微服务应用架构解析

本文深入解析了微服务应用架构的设计原理与实践方法,从单体应用向微服务的演进过程出发,探讨了微服务的四层架构模型、平台与服务的关系、服务层的结构与通信模式等核心内容。文章还分析了同步与异步通信的适用场景、微服务架构的最佳实践以及未来发展趋势,帮助读者全面理解微服务架构的设计思路与关键技术要点,为构建灵活、高效、可扩展的微服务应用提供指导。

oauth7security的博客 114

数据持久化

 数据和页面的操作添加,删除,修改松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。

yjw2006的专栏 529

FPGA控制DDR读写(AXI4总线接口)

FPGA控制DDR读写

qq_42712308的博客 1万+

分析一下微应用框架(一)

对于大型前端应用的演进,微应用架构是一种尝试,微应用技术在端上本质就是一个组件资源的管理,组件可以是页面,也可以是一个弹框内容,甚至极端一点把一个逻辑很复杂的按钮作为一个应用来接入。在 2017 年 FCC 的时候分享过微应用的基础认识,当时技术直觉上觉得它碉堡了,还能这么玩前端页面。现在业务解决方案的落地形式很多,市场证明了微应用是能解决部分前端应用演进中问题的技术,这篇文章主要是回顾微应用在框架层面如何实现的,了解框架原理,才能更好更快的映射业务层接入的问题。

老司机的后备箱 1504

【Anaconda】conda国内镜像源快速配置指南(清华/阿里云)

本文详细介绍了如何为Anaconda配置国内镜像源(清华/阿里云),以显著提升conda包下载速度并减少安装失败率。通过分步指南和实用技巧,帮助开发者快速完成配置,优化Python开发环境。

weixin_33725722的博客 1486

Agent框架系列:1-低代码智能体平台深度解析Dify、Coze、n8n

Dify、Coze 和 n8n 是三大主流低代码智能体平台,各有侧重。Dify 适合企业级 AI 应用,具备强大的 RAG 和知识库管理能力,技术栈为 Python + React。Coze 由字节推出,主打零代码和快速原型开发,集成 60+ 插件,极适合非技术用户。n8n 以工作流自动化和系统集成为核心,支持 400+ 外部应用,基于 Node.js + Vue,扩展性极强。选择建议:非技术团队选 Coze,AI 应用选 Dify,复杂自动化与集成选 n8n。可根据实际需求混合使用,最大化平台优势。

3081

微服务应用

客户端如何访问这些服务每个服务之间如何通信如此多的服务,如何实现?服务挂了,如何解决?(备份方案,应急处理机制)原来的 单体 方式开发,所有的服务都是本地的,UI 可以直接调用,现在按功能拆分成独立的服务,跑在独立的一般都在独立的进程了。客户端 UI 如何访问他? 后台有 N 个服务,前台就需要记住管理 N 个服务,一个服务 **下线**、**更新**、**升级**,前台就要重新部署,这明显不服务我们拆分的理念,特别当前台是移动应用的时候,通常业务变化的节奏更快。

go|Python的个人博客 1204

Adams软件安装与配置全攻略:从入门到机器人仿真

机械系统动力学仿真软件Adams是工业机器人开发的重要工具,其安装过程涉及许可证配置、环境变量设置等关键技术环节。专业仿真软件安装通常需要处理系统兼容性、组件依赖和授权验证等工程问题,特别是在机器人控制仿真等场景中,还需集成MATLAB/Simulink等第三方工具。本文以Windows平台为例,详解Adams安装的核心步骤,包括系统环境检查、许可证服务器配置、工业机器人专项模块安装等实践要点,并针对NVIDIA Quadro显卡优化、27500端口通信等常见问题提供解决方案,帮助用户快速搭建可靠的仿真环境

weixin_28523493的博客 199

微服务(Microservice)那点事儿

一个微服务架构的系统是一个分布式系统,系统内会由若干个应用组成,每个应用就是一个微服务。根据需求,每个微服务应用可以部署一定数量的服务器,也可以支持横向扩展,随时支持流量的变化。

Hopefully Sky的博客 1581

Crazyflie 2.1固件刷写与地址配置全攻略:从开箱到连接Crazyswarm

本文详细介绍了Crazyflie 2.1微型无人机的固件刷写、地址配置及与Crazyswarm系统的集成方法。从开箱检查到多机协同飞行,涵盖了硬件准备、固件刷写、无线电地址修改等关键步骤,帮助用户快速实现集群飞行控制。特别针对Crazyswarm系统集成提供了实用配置示例和调试技巧。

weixin_42530458的博客 405

华为OD机试新系统真题-谁没交卷(Java /Py/C++/Go/C/Js)

华为OD机试 新系统真题【谁没交卷】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【谁没交卷】多语言题解。

qq_45776114的博客 421

新兴架构模式:微应用架构

文章目录01 前言02 什么是微应用?03 微应用程序的基础3.1 面向用户的应用3.2 特性模块3.3 特性模块3.4 基础与实用模块3.5 工具04 挑战与权衡05 微应用架构之路 01 前言 本文讲述了微服务(Microservice)所启发的新兴架构模式如何为特性开发注入活力并加快开发者的速度。 20 世纪末,网络公司,如Netflix和亚马逊,都面临着大规模软件开发的挑战。要将数百个贡献者对庞大的共享代码库进行修改所产生的摩擦降到最小,他们将软件分割成可以在云中租用的硬件上隔离部署和扩展的服务。将

阿甘兄 1071

Buildroot RK3568系统中更改GPU驱动为:panfrost

1:Kernel中开启Panfrost 2:更新mesa 到mesa-24.0.2 3:查看/proc/interrupts 中的panfrost 中断 4:LInux启动日志 5:查看GPU负载

OpenWrt/WLAN/驱动/Android/嵌入式开发总结 2078

微服务编排:未来的应用架构

1.背景介绍 随着互联网的发展,我们的应用程序变得越来越复杂,分布在了越来越多的服务器上。为了更好地管理这些服务器,我们需要一种新的架构来组织和编排这些服务。微服务架构是一种新的应用程序架构,它将应用程序分解为多个小的服务,每个服务都负责一个特定的功能。这种架构的优势在于它的可扩展性、弹性和容错性。 在这篇文章中,我们将讨论微服务编排的核心概念,以及如何使用算法和数学模型来实现这种架构。我们还...

AI天才研究院 499

GVINS数据采集(u-blox fp9 + D435i)

1、配置千寻的RTK账号 采集数据当天购买千寻的RTK账号,然后在Window下,输入账号和密码 (具体的步骤如之前面连接所示),查看u-center软件上的信息,确保接收机可以收到RTK信息; 2、查看Linux系统下u-blox是否可以正常接受GPS信号和RTK数据流 1、GPS信号信息 // 打开端口 1 cd ublox_f9p/src // 或者在终端1下也可以 source devel/setup.bash r.....................

努力努力努力 2609

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

微服务架构:现代应用架构的未来趋势

本文探讨了微服务架构的基本概念、优势、挑战及实现方法。微服务通过拆分单体应用为独立服务,提升了可扩展性、可用性和部署效率,但面临通信复杂性、数据一致性等挑战。实现时需要合理划分服务边界,选择合适的通信方式,采用容器化部署和集中监控。未来可能结合Serverless、AI和服务网格等技术持续发展。微服务架构虽具优势,仍需根据实际需求权衡利弊。

2501_94162433的博客 490

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

身为程序员,就应该了解微服务的未来发展趋势:云原生应用架构

与启动时进行的JIT编译相比,从SCC加载预编译的实现要快得多,而且消耗的资源更少,启动时间也得到明显改善。Gradle使用XML方式进行配置,把“约定大于配置”的设计理念进一步发扬光大,最重要的是并行化的编译速度有显著的提升。通俗地讲,就是将现代应用基于微服务架构原则(云原生12因子)构建,使用DevOps开发运维一体化的动态管理机制,将微服务自动化部署在私有云或者公有云。● 一方面,强调Cloud代表着应用的运行时,运行环境基于私有云、公有云或者混合云等,有别于传统的数据中心机房环境。

公众号:该用户快成仙了 1649

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

01 | 到底什么是微服务?

从谷歌的搜索指数来看,微服务的热度在进入2017年后突然爆发,国内各大会议和论坛的相关讨论也如雨后春笋般层出不穷,各大一线互联网公司也纷纷将这一技术引入并在实际业务中落地。然而据我所知,国内不少中小规模的技术团队对微服务的概念都不甚了解,对该不该引入微服务也不置可否。还有一些技术团队,没有考虑实际业务场景,只是为了追求技术热点,盲目引入微服务,但又缺乏相应的技术掌控能力,最后影响了业务的稳定性。对...

优快云学习 401

架构演进,后端开发进入微服务时代!

最近,朋友被他们公司的系统搞得头大,跟我吐槽说真的不想再用单体应用的架构开发了。他们每次功能发布和上线都得有一个上线负责人来收集上线列表,并协调所有相关的开发人员合并代码到主干,然后进行编...

极客重生 324

How Microservices are Transforming Python Development

https://blog.appdynamics.com/engineering/how-microservices-are-transforming-python-development/   Summary The goal of any tech business worth its salt is to provide the best product or service to i...

weixin_34162228的博客 162

java 微服务架构图_图解微服务架构演进

图解服务化架构演进前言来自dubbo的用户手册中的一句话:随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。常规的垂直应用架构就相当于传统的那种,现阶段传统垂直架构改造的核心就是对应用做服务化改造,服务话改造使用的核心技术架构就是分布式服务框架。其实这篇是概念上的总结,技术概念软文,纪录此文让自己...

weixin_39540725的博客 817

图解微服务架构演进

图解服务化架构演进 前言 来自dubbo的用户手册中的一句话: 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 常规的垂直应用架构就相当于传统的那种,现阶段传统垂直架构改造的核心就是对应用做服务化改造,服务话改造使用的核心技术架构就是分布式服务框架。 其实这篇

老毒物的技术博客 1512

AI应用架构师实战:用微服务+大模型打造高可用AI驱动服务

稳:不能因为某个组件故障导致整个系统崩溃;快:用户提问后要在2秒内拿到响应;省:大模型调用成本不能无限制增长。微服务的解耦、独立部署、弹性伸缩正好解决“稳”和“快”的问题;而大模型的通用智能能力是AI服务的核心,但需要通过微服务的封装、缓存、负载均衡来解决“省”和“可靠”的问题。微服务是“骨架”,支撑系统的高可用;大模型是“大脑”,提供智能能力——两者结合才能让AI应用从“玩具”变成“工具”。大模型封装层:永远不要让业务服务直接调用大模型API,要封装成独立的服务,处理限流、缓存、fallback。

AI 算法实战派 1345
上一篇: Docker集群网络的配置和使用
下一篇: REST API和SOAP API之间的区别
codinghello
博客等级 码龄25年 47粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值