什么是微服务?
微服务架构是一种架构模式,它提倡将单一应用程序划分为一组小的服务。服务之间相互协调,相互配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务于服务间采用轻量级的通信机制互相协作(通常是基于 HTTP 协议的RESTful API )。
springcloud 是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。
springboot 与 springcloud 技术选型 (版本)
通过spring官网查询最合适的版本 https://start.spring.io/actuator/info
SpringCloud文档
https://projects.spring.io/spring-cloud/spring-cloud.html
cloud组件概览
服务注册中心
Eureka , Zookeeper ,Consul ,Nacos
最多只能同时较好的满足两个。 CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求, 因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类: C:Consistency(强一致性) A:Availability(可用性) P:Partition tolerance(分区容错性 CAP理论关注粒度是数据,而不是整体系统设计的策略 CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。 CP - 满足一致性,分区容忍必的系统,通常性能不是特别高。 AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
服务调用
Ribbon , LoadBalancer , Feign , OpenFeign
服务熔断降级
Hystrix , resilience4j , Sentinel
服务网关
zuul , gateway
服务配置中心
Config , Nacos
服务总线
Bus , Nacos
消息驱动
Stream
链路追踪
Sleuth