微服务相关概念

Posted by shuyou on Monday, September 27, 2021

本文介绍微服务相关概念,了解微服务的相关架构和发展。

微服务架构

传统的软件架构,往往是一个单体应用糅合了各种业务模块。随着业务的发展,单体应用变得庞大之后产生难以维护的问题,微服务架构便出现了。

微服务是一种架构风格,微服务将一个独立的系统拆分成多个微小的服务,这些小型服务都在各自独立的进程中运行,服务之间通过约定的通讯方式进行通信协作。

微服务架构中的一些核心概念:

  • 服务注册与发现
  • 熔断、限流、降级、隔离
  • 服务网关
  • 链路追踪
  • 负载均衡
  • 服务调用

集群与分布式

集群:多台计算机完成同一个工作。 分布式:多台计算机做不同的工作,但是它们之间彼此进行交互以实现一个共同的目标。 分布式集群:一个业务使用集群部署,多个业务之间采用分布式部署,从而形成分布式集群。

服务注册与发现

对每个微服务模块进行统一的服务注册,方便管理。

常用的解决方案有:

  • Spring Cloud Eureka
  • Nacos
  • Zookeeper

服务调用

服务之间互相调用的解决方案: rpc 还是 http

  • Dubbo
  • Spring Cloud Ribbon
  • Spring Cloud Feign

配置中心

解决服务太多导致配置文件太多的问题

  • Nacos
  • Spring Cloud Config

API网关

对外提供统一的API接口,方便管理,采用API网关

  • Spring Cloud Gateway
  • Spring Cloud Zuul

链路跟踪

当服务之间调用出现错误时,方便排除哪一服务出现问题。

  • Spring Cloud Sleuth

服务流控、熔断等

当访问量过大时对流量进行控制

  • Spring Cloud Alibaba Sentinel
  • Spring Cloud Hystrix

Spring Cloud对微服务架构提供了很多的解决方案,其中一部分是Netflix的解决方案,Spring Cloud对其进行了整合,还有一部分是alibaba提供的解决方案。

总的来说,Spring Cloud Alibaba的解决方案更加完整,且社区还在进行更新,所以后续可能会入门和学习Spring Cloud Alibaba的解决方案。

「真诚赞赏,手留余香」

ShuYou's Blog

真诚赞赏,手留余香

使用微信扫描二维码完成支付