美文网首页
微服务之SpringCloud

微服务之SpringCloud

作者: felixfeijs | 来源:发表于2020-08-10 17:44 被阅读0次

微服务之SpringCloud

目录

  • 单体架构介绍
  • 垂直结构介绍
  • SOA架构介绍
  • 微服务架构介绍
    • SpringCloud技术栈
      • 简单介绍
      • 技术栈

单体架构介绍

  1. 如图所示


    单体架构图示.jpg
  2. 特点:

    • 所有功能都继承在一个项目中.
    • 所有功能打包成一个war或者jar进行发布.
    • 部署多个项目集群进行性能提升.
  3. 优点:

    • 项目简单,开发成本低,周期短,适合小型项目.
  4. 缺点:

    • 全部功能集成在一个工程中,对于大型项目不易于开发、扩展和维护.
    • 系统性能提升只能通过集群节点,成本高.
    • 技术栈受限(一个项目只能有一种技术栈及性能开发)

垂直结构介绍

  1. 如图所示


    垂直架构图示.jpg
  2. 特点:

    • 以单体架构为单位进行垂直业务划分为多个单体架构.
    • 项目之间存在数据冗余,耦合性较大.
    • 项目之间的接口多为数据同步.
  3. 优点:

    • 项目架构简单,开发成本低,周期短,适合小型项目.
    • 通过垂直拆分,原来的单体架构不至于无限扩大.
    • 不同的项目可以采用不同的技术.
  4. 缺点:

    • 全部的功能集成在一个工程中,对于大型的项目不易于开发.
    • 系统性能扩展只能通过扩展集群节点,成本高.

SOA架构介绍

SOA架构图示.jpg
  1. 如图所示
  2. 特点:
    • 基于SOA的架构思想将重复公用的功能抽取为组件,以服务的方式给各个系统提供服务.
    • 各系统与服务之间采用webservice、rpc等方式进行通信.
    • ESB企业服务总线作为项目与服务之间通信的桥梁.
  3. 优点:
    • 将重复的功能抽取出来,提高开发效率,提高系统的可重用性、可维护性.
    • 可以针对不同服务的特点定制集群及优化方案.
    • 采用EBS减少了系统的耦合.
  4. 缺点:
    • 虽然使用了ESB,但是服务的接口协定不固定(http,webservice,tcp),种类繁多,不利于维护.

微服务架构介绍

  1. 如图所示


    微服务结构图示.jpg
  2. 特点:

    • 将系统服务层完全的独立出来,并将服务层抽取为一个个的服务.
    • 微服务遵循单一原则.单一职责原则指的是一个单元(类、方法或者服务等)只应关注整个系统功能中单独、有界限的一部分.
    • 微服务之间遵守RESTful等轻量级协议.
  3. 优点:

    • 服务拆分的粒度更细,有利于资源重复的利用,提高开发效率.
    • 可以更加精准的对每个服务定制优化方案,提高系统的可维护性能.
    • 微服务采用去中心化的思想,服务之间采用RESTful的轻量级协议,相比与ESB更加轻量.
  4. 缺点:

    • 服务多,服务成本高,不利于系统维护.
    • 分布式系统开发的技术成本高(容错、分布式事物等).
    • SOA有ESB用来集成各个系统和服务,微服务架构没有ESB,服务网关相当于是路由器的概念,服务于服务之间都是可以进行通信的.
SpringCloud技术栈
简单介绍
  • Spring Cloud是基于Spring Boot的一整套实现微服务的框架。它提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。
技术栈
  • 服务治理:Dubbo(阿里巴巴) 、Dubbox(当当)、Eureka(Netflix)等
  • 服务配置:CloudConfig(Spring Cloud)、Disconf(百度)、Qconf(360)、Diamood(淘宝)等
  • 服务跟踪:Sleuth(Spring Cloud)、Hydra(京东)、Zipkin(Twitter)等
  • 服务调用:Rest、RPC、gRPC
  • 负载均衡:Ribbon、Nginx
  • 消息队列:Kafka、RabbitMQ、ActiveMQ、RocketMQ
  • 服务部署:Docker、Kubernetes
  • 服务网关:GateWay
  • 服务熔断:Hystrix、Sentinel
  • 分布式配置:Zuul、Nacos
  • 消息总线:Sleuth
  • 批量处理:Bus

相关文章

网友评论

      本文标题:微服务之SpringCloud

      本文链接:https://www.haomeiwen.com/subject/axgjdktx.html