---------------------------目录--------------------------------
一、SpringCloud系列组件实战(Eureka、Ribbon、Hystrix、Feign、Getway、Config等组件)
二、SpringCloud系列官方文档
1、架构的演进
2、微服务架构的优缺点
3、微服务架构中的概念
4、SpringCloud系列
---------------------------目录--------------------------------
一、SpringCloud组件实战系列
SpringCloud之(豪猪)Hystrix限流、熔断、降级
Ribbon、Feign和OpenFeign的区别---课外普及
SpringCloud之远程调用OpenFeign和Ribbon
SpringCloud之配置中心(config)的使用Git+数据库实现
二、SpringCloud组件官网系列
SpringCloud官方文档 SpringCloud中文网
1、架构的演进
- 轻量级、灵活,甚至于 Serverless(无服务)架构
- 由单体应用 ——> 垂直分层 ——> 面向服务SOA(具体应用例如:Dubbo) ——> 微服务 ——> Serverless(无服务)
2、微服务架构优缺点
首先微服务架构的核心思想是“微”,项目的拆分粒度相对较小,更能提现出单一职责、开发耦合度低、微小的功能可以独立部署、拓展灵活性强、升级改造影响范围小。
微服务的优点:
- 微服务很小,便于特定的功能聚焦
- 微服务很小,每个微服务都可以被一个小团队独立实施(开发、测试、部署上线、运维),团队合作便于一定程度解耦、方便敏捷开发。
- 微服务很小,便于重用和模块之间的组装
- 微服务独立,不同的微服务可以使用不同的语言开发,松耦合
- 微服务架构下,方便引入新技术,同时方便更好的实现DevOps开发运维一体化
微服务缺点:
- 微服务架构下,分布式随着服务数量的增加,管理将越加复杂
- 微服务架构下,分布式链路跟踪、分布式事务难。
3、微服务架构中的概念
- 服务注册与发现
服务注册:服务提供者将提供的服务信息(服务器ip、端口、服务访问协议等)注册到注册中心
服务发现:服务消费者从注册中心获取实时的服务列表,根据一定的策略选择一个服务访问
- 负载均衡
负载均衡即将请求的压力分配到多个服务器,以此来提供服务的性能、可靠性。
- 熔断、限流、降级
熔断:即断路保护,在微服务中上游服务因访问压力过大响应变慢或失败,上游服务为保证整体可用性,可以暂时切断对下游服务的调用,牺牲局部保全整体的一种措施。针对下游服务处理。
限流:高并发的系统保护利器,当突然的高并发流量来袭,进行控制并发/请求量,一旦达到某个极限值,其余的请求拒绝服务或者排队等待。
降级:服务降级是从整体符合考虑,由于某些服务调用造成整体系统缓慢或者崩溃,而采用虚假的本地服务进行返回,服务降级有一定的代码侵入。
- 链路追踪
链路追踪:就是对一次请求设计的很多分物语链路进行日志记录、性能监控。
- Api网关
4、SpringCloud微服务
SpringCloud是一系列框架的有序集合(规范),利用SpringBoot开发的便利性简化了分布式系统基础设施的开发,如服务发现与注册、配置中心、消息总线、负载均衡、断路器、数据监控等。
核心组件如下表: