本文介绍微服务相关概念,了解微服务的相关架构和发展。
微服务架构
传统的软件架构,往往是一个单体应用糅合了各种业务模块。随着业务的发展,单体应用变得庞大之后产生难以维护的问题,微服务架构便出现了。
微服务是一种架构风格,微服务将一个独立的系统拆分成多个微小的服务,这些小型服务都在各自独立的进程中运行,服务之间通过约定的通讯方式进行通信协作。
微服务架构中的一些核心概念:
- 服务注册与发现
- 熔断、限流、降级、隔离
- 服务网关
- 链路追踪
- 负载均衡
- 服务调用
集群与分布式
集群:多台计算机完成同一个工作。 分布式:多台计算机做不同的工作,但是它们之间彼此进行交互以实现一个共同的目标。 分布式集群:一个业务使用集群部署,多个业务之间采用分布式部署,从而形成分布式集群。
服务注册与发现
对每个微服务模块进行统一的服务注册,方便管理。
常用的解决方案有:
- 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的解决方案。
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付