欢迎光临散文网 会员登陆 & 注册

兰州:了解微服务平台架构

2023-07-24 18:30 作者:bili_79887741355  | 我要投稿

  微服务是什么

  十分钟了解微服务架构

  过去几年来,“微服务架构”这个术语出现了,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。

  “微服务” - 在软件架构拥挤的街道上又一个新名词。尽管我们的自然倾向是以轻蔑的眼光来传递这样的东西,但这些术语描述了一种我们发现越来越吸引人的软件系统风格。我们已经看到许多项目在过去几年中都采用了这种风格,迄今为止的结果是积极的,因此对于我们的许多同事来说,这正成为构建企业应用程序的默认风格。可悲的是,没有太多的信息概述了微服务的风格以及如何去做。

  简而言之,微服务架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。这些服务的集中化管理已经是最少的,它们可以用不同的编程语言编写,并使用不同的数据存储技术。

  在开始介绍微服务风格(microservice style)前,比较一下整体风格(monolithic style)是很有帮助的:一个完整应用程序(monolithic application)构建成一个单独的单元。企业应用程序通常建立在三个主要部分中:一个客户端用户界面(由用户计算机上的浏览器中运行的HTML页面和JavaScript组成)数据库(包括插入常见的通常是关系数据库管理的多个表系统)和一个服务器端应用程序。服务器端应用程序将处理HTTP请求,执行特定领域逻辑,通过数据库进行检索和更新数据,选择并填充要发送到浏览器的HTML视图。这个服务器端应用程序是一个庞然大物 - 一个逻辑可执行文件[2]。系统的任何更改都涉及构建和部署新版本的服务器端应用程序。

  这样的整体服务(monolithic server)是一种构建系统很自然的方式。处理请求的所有逻辑都在一个进程中运行,允许您使用语言的基本功能将应用程序划分为类,函数和名称空间。谨慎操作时,您可以在开发人员的笔记本电脑上运行和测试应用程序,并使用部署通道来确保更改经过适当测试并部署到生产环境中。您可以通过在负载平衡器后面运行多个实例来横向缩放整体。

  单体式应用程序可以取得成功,但越来越多的人会感到失望 - 尤其是随着更多应用程序被部署到云中。变更周期是连在一起的 - 对应用程序的一小部分进行更改,需要重建和部署整个程序。随着时间的推移,它通常很难保持良好的模块化结构,使得难以保持应该:模块内的一个改动仅影响该模块本身中。自适应需要自适应整个应用程序,而不是它的一部分,这样做需要更多资源。


兰州:了解微服务平台架构的评论 (共 条)

分享到微博请遵守国家法律