天天看点

Spring Cloud和Spring Boot深入理解之微服务简介微服务是什么单体架构的缺点微服务架构的优缺点

Spring Cloud和Spring Boot深入理解之微服务简介

  • 微服务是什么
  • 单体架构的缺点
  • 微服务架构的优缺点
    • 优点
    • 缺点

微服务是什么

简单来说就是把一个应用程序当做一些列服务的一部分,每个服务运行与自己独立的进程中,服务之间通信可以是http也可以是RPC,每个服务都是你业务的一部分,比如游戏服务器,用户登录是一个服务,角色选择是一个服务,PVE打副本是一个服务,聊天是一个服务器,PVP是一个服务等等,而且都是独立部署,很少有集中式的管理,而且每个服务可以是异构平台的,比如A服务可以用JAVA语言,B服务可以用Python,数据存储也是可以用不同的技术。比如我登录服务只需要mysql,信息不会有太多的频繁更改,但是游戏里面我可能要redis,因为游戏数据更改频繁,我需要缓存。

单体架构的缺点

  • 随着功能的增多复杂性会越来越高。
  • 越庞大越复杂启动和部署速度也慢。
  • 很难更新某个模块的新技术,可能牵一发而动全身。
  • 没办法把各个功能用异构的语言来实现。
  • 无法按照需求进行伸缩。
  • 只能横向扩展。

微服务架构的优缺点

优点

  • 开发相对简单。
  • 可以选择的不同的技术栈。
  • 每个微服务之间都是独立的部署,更新维护容易部署。
  • 可以按需扩展。
  • 功能之间耦合性没那么强。

缺点

  • 运维相对复杂。
  • 有数据一致性问题
  • 继承测试比较复杂。
  • 可能会有重复代码。
  • 监控困难。

具体的一些信息可以查阅下面的资料,都是比较经典的:

马丁大神的网站

Introduction to Microservices

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。

继续阅读