何为微服务?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了何为微服务?相关的知识,希望对你有一定的参考价值。

什么是微服务?
    微服务是一种架构风格,一种软件架构,是由多个服务组成的集合体,集合体中的每个服务都是独立存在,都可以独立部署。
    各个服务之间是送耦合的,各个服务通过通信机制进行通信。
    每个服务都只关注一个业务功能,完成自己的业务任务即可。如:订单服务,用户服务。

  • 优点
    开发、维护相对简单:微服务单个服务相当于一个项目,只需要关心这个模块的业务逻辑即可。代码量、代码复杂度都会降低,易于开发、维护。
    技术栈灵活:各个服务可用不同的技术来实现,订单服务用java实现,用户服务用python实现。
    服务独立解耦:微服务是高内聚的,每个服务处理每个服务相应的业务即可。每个微服务可独立部署,不再需要协调其它服务对本服务的影响。

  • 缺点
    维护和部署复杂度的增加:单体应用可能只需要维护、部署一个项目即可,但是微服务是由多个服务构成,需要维护、部署多个服务,当微服务中某一个服务出现异常,想要确定是哪一个服务出现问题是不容易的,无法通过debug来确定问题。
    服务间通信的成本:单体应用只需要调用服务内接口即可。但是微服务之间,是需要服务与服务之间相互通信,通过RPC、MQ等来通信,那么调用接口的成本明显增加,提高了复杂度,引入许多问题,如:网络延迟,消息序列化,容错性等等。
    系统集成测试难度大:微服务测试,需要启动这个服务所有相关的服务。

以上是关于何为微服务?的主要内容,如果未能解决你的问题,请参考以下文章

如何为微服务创建公钥存储?

如何为微服务选择正确的消息队列

SweetCodeHQ如何为Flask应用程序创建一个Envoy服务代理

android如何为片段按钮设置OnClickListener

从 0 开始的微服务架构:代码给你,看如何用Docker支撑微服务

SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端Eureka 服务信息Eureka 发现管理Eureka 安全配置Eureka-HA(高可用) 机制Eur(代码片段