站务联系

微端服务器 (SOA架构的一种变体)(2)

发布时间:2021-03-09   来源:网络整理    
字号:

相比之下,在微服务模型中,组件是独立布署的,并通过REST,事件流跟消息代理的某些组合进行通讯-因此微端服务器,可以针对该服务优化每位单独服务的堆栈。技术经常在变化,由多个较小的服务组成的应用程序随着更理想的技术的发展而显得更容易且费用更低。

微服务准确拖放

使用微服务,可以单独布署单个服务,但是也可以单独扩充他们。由此带给的弊端是显而易见的:如果正确完成,微服务比单片应用程序所需的基础结构要少,因为微服务仅支持对还要它的组件进行准确拖放,而对于单片应用程序则不需要整个应用程序。

微服务关键支持技术跟工具

尽管几乎任何现代工具或语言都可以在微服务机制结构中使用,但仍有一些核心工具已成为皇爷必须不可少的基本定义:

微服务容器,Docker跟Kubernetes

微服务的关键要素之一是它一般太小。(没有任意数目的代码来确定某项内容是否为微服务,但名称中正好有“微”字。)

当锚地女工在现代化的集装箱时代迎来了2013年,它也推出了估算模型,将成为微服务最紧密相关。由于单个容器没有自己操作系统的费用,因此他们比传统虚拟机更小,更轻,并且可以更快地上下旋转微端服务器,从而让其与微服务构架中的更小,更轻便的服务完美匹配。 。

随着服务跟容器的增长,对小型容器进行编排跟管理很快成为关键挑战之一。Kubernetes早已成为世界上最受欢迎的容器编排 技术之一,因为它做得挺好。

微服务API网段

微服务一般通过API进行通讯,尤其是在首次确立状态时。虽然确实可以实现客户端跟服务之间的直接通讯,但API网段一般是有用的中介层,尤其是随着应用程序中服务人数的不断下降。API网段通过路由恳求,将恳求散播至多个服务中并提供额外的安全性跟身分验证,充当客户端的反向代理。

有征兆阐明,可适于执行API网段,包括API管理平台的多种技术,但若果正在使用集装箱跟Kubernetes实现的微服务架构中,网关使用的入口或更逾,通常实现Istio。

微服务讯息传递

尽管最佳实践或许是设计无状态服务,但是状态一直存在,服务须要意识到这一点。尽管API读取一般是初始为给定服务构建状态的有效办法,但它并不是保持最新状态的非常有效办法。不断的民意测验“我们至了吗?” 使服务保持最新状态的方式根本不切实际。

相反,必须将构建状态的API读取与消息传递或丑闻流耦合在一起,以便服务可以广播状态修改,而其他相关方可以侦听这种修改并相应地进行调整。这项工作或许最适合于通用消息代理,但是在这些状况下,事件流传输平台(例如Apache Kafka)可能是一个挺好的选择。

微服务无服务器

无服务器构架将这些核心云和微服务方式列入其逻辑推论。在无服务器的状况下,执行单元除了是一个大型服务,而且是一个功能,通常只好是几行代码。无服务器功能与微服务之间的界线模糊,但一般觉得功能并且比微服务小。

无服务器构架跟功能即服务(FaaS)平台与微服务共享相似性的地方在于,它们都对争创更小的布署单位以及依据需求进行准确扩充感兴趣。

微服务常见方式

在微服务构架中,有许多常见且有用的设计,通信跟集成方式可帮助解决一些更常见的挑战跟机遇,包括以下内容:

微服务反模式

尽管有许多挺好地完成微服务的方式,但还有相当数目的方式可以让任何开发团队快速陷入困境。其中一些(表述为微服务“不要”)如下:

词条手册更多手册

图说天下

  • 2页:
  • 上一页
  • 1
  • 2
  • 下一页
  • ×
    二维码生成