SpringCloud Alibaba技术栈(一)微服务介绍

B 站黑马视频教程:Here

源码-笔记:Code for Github

第一章 微服务总览

1. 软件系统架构的历史

软件系统架构大致经历了:单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构的演变

单体应用架构:一个项目一个tomcat。优点:简单维护简单。缺点:紧密耦合容错低,扩展性差,不适合大项目。

垂直应用架构:对单体应用架构拆分,多个项目多个tomcat。

分布式架构:对垂直应用架构拆分,把整个系统分为展现层和服务层

SOA架构(面向服务):对分布式架构优化,展现层和服务层中间多了个服务治理中心。

微服务架构:把SOA架构中的服务层拆分成原子状态。

2. 微服务架构的常见问题

这部分基本照抄视频内容。是本次学习的提纲,所要学习的各种技术栈就是为了解决以下问题而产生的解决方案。

这么多小服务,如何管理他们? (服务治理 注册中心[服务注册 发现 剔除])

这么多小服务,他们之间如何通讯? (restful rpc)

这么多小服务,客户端怎么访问他们? (网关)

这么多小服务,一旦出现问题了,应该如何自处理? (容错)

这么多小服务,一旦出现问题了,应该如何排错? (链路追踪)

这里再借用尚硅谷的思维导图帮助整理。

SpringCloud Alibaba技术栈(一)微服务介绍

2.1 服务治理

相关技术栈有 Nacos,Eureka,Consul,Zookeeper

涉及到CAP三特性

服务注册,服务发现,服务剔除

使用 Nacos 进行服务治理:详细章节

2.2 服务调用

REST:HTTP调用的格式

RPC:进程间通信方式

具体技术有feign,RestTemplate

2.3 服务网关

把网关相当于一个微服务,用网关的接口把其他接口覆盖,想要使用某一个接口的时候,只需要通过网关的接口访问即可。

利用Spring Cloud Gateway实现网关:详细章节

2.4 服务容错

预防雪崩。服务降级,限流,熔断。具体技术:sentinel

限制某一接口(资源)的被访问频率,涉及到 fallBack,fallBackFactory的使用。

利用sentinel服务容错:详细章节

2.5 链路追踪

对一次请求进行追踪,追踪其涉及的模块,数据中心,服务器。进行性能分析,异常处理等等等。

上一篇:【高维前缀和】FMT变换-高维前缀和


下一篇:第一篇博客==>Hello_World