码迷,mamicode.com
首页 > 其他好文 > 详细

何为微服务?

时间:2018-04-12 17:08:22      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:微服务

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

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

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

何为微服务?

标签:微服务

原文地址:http://blog.51cto.com/10960988/2097508

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!