设为首页 加入收藏

TOP

【干货】微服务设计的基础知识(二)
2019-09-17 17:34:54 】 浏览:39
Tags:干货 服务 设计 基础知识
构都至关重要,以确保功能在速度,响应性和产品的整体性能方面始终如一。

微服务架构的局限性

虽然微服务是降低整体结构的最佳方式,但它有其自身的一些缺点。但在得出任何结论之前,让我们来看看其中的一些。

1.开发环境超载

随着应用程序及其数据库的增长,代码库也在不断扩展。随着针对每个微服务的代码扩展,它会使每个加载的应用程序的开发环境过载。这可能导致生产力的重大延迟。

2. DevOps复杂性

单功能微服务的开发和部署并非易事。使用多种技术并创建API来集中系统是一项挑战。这需要一个经验丰富的DevOps团队。采购这样一个经验丰富的DevOps团队对于维护基于微服务的应用程序的复杂性至关重要。

3.增加资源和网络使用

由于多个组件协同工作,因此在某种程度上彼此进行通信非常重要。此通信将导致网络使用量增加。这需要高速可靠的网络连接。此外,运行这些应用程序的费用也会增加。所有服务都单独运行,增加了运营成本。

4.测试

测试应用程序可能具有挑战性,因为有单独的组件。与单片应用程序相比,微服务需要更长的时间进行测试,并且在出现任何错误时更加复杂。有时,由于测试最终会影响整个应用程序,可能会导致延迟。

5.安全

在Web应用程序方面,安全性至关重要。使用微服务,实现这一点很困难。当存在独立模块的集群时,每个模块都需要遵守为整个系统定义的认证和授权规范。

除此之外,每个模块可能与其他模块通信,跟踪数据流变得非常困难。需要其他措施,例如具有负载平衡的API网关,以确保行为一致。这些额外的步骤导致每个微服务的开销。

6.应用程序的复杂性

由于微服务是独立组件,因此每个微服务通常都有一个最适合其需求的技术堆栈。例如,机器学习模块可能使用python堆栈,而计量服务可能使用Java堆栈,UI服务可能使用MEAN堆栈。这会导致复杂性,因为资源池和管理和构建新功能所需的技能将非常高。

7.高初始投资

微服务独立运行,它们需要独立的容器或资源来运行它们。每个项目可能有很多微服务一起工作,需要更高的投资来设置包括微服务,安全容器,负载平衡器,API网关等的所有集群。

这值得么?

在阅读了微服务设计的基本原理之后,很明显需要遵循一系列最佳实践。但是,我们还观察微服务设计原则如何通过打破单片架构来简化创建应用程序的过程。但是,与此同时,在调整微服务架构时需要克服某些挑战。这些复杂性会影响运营流程,但从长远来看,克服这些挑战可以带来优化和更高效的应用。

此外,它还可以克服延迟和缺陷,同时提高灵活性和性能。记住上面提到的,可以说微服务架构对于成功的软件系统是必要的。

包括PayPal,Twitter,LambdaTest和Netflix 在内的许多企业都支持微服务架构的可靠性,以部署更具可扩展性,功能性和强大的软件。

---------------------------------------------

推荐阅读:

微信支付开发中几个值得注意的地方

解析:微服务的原则

老王讲架构:负载均衡

支付宝系统架构内部剖析

SaaS技术栈的走势

大数据Spark与Storm技术选型

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Struts2_属性驱动 下一篇struts2_项目运行报404

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目