微服务架构
四大组件:Nacos Ribbon OpenFeign Gateway
微服务八大金刚
nacos【name server】:注册中心,解决服务的注册与发现
Ribbon:客户端负载均衡器,解决微服务集群负载均衡问题
Openfeign:声明式HTTP客户端,解决微服务之间的远程调用问题
Sentinel:微服务流量防卫兵,以流量为入口,保护微服务,防止服务雪崩
gateway:微服务网关,服务集群的入口,路由转发以及负载均衡(全局认证,流控)
nacos【config】:配置中线,微服务配置文件的中心化管理,同时配置信息的动态刷新
sleuth:链路追踪
分布式事务
一、微服务架构
1.0:单体架构
所有的模块(功能)都集中在一个服务进程,对外提供服务。
不适用于互联网项目(访问量大、业务复杂),只适合传统项目(政府、学校、外包)
优化:搭建集群
单体架构优缺点
1.1:微服务架构
1.2:微服务架构的优势与缺点
优点
缺点
1.3:SpringCloud与微服务关系
注册中心动态感知服务上下线,记录列表
openfeign实现远程调用 ribbon实现负载均衡 senta组件实现分布式事务
1.4:SpringBoot与SpringCloud的关系
二:服务注册与发现
2.0:相关概念
分布式是不同服务做不同的事,而集群是多个服务实例做同一件事。有集群就要考虑负载均衡。
2.1:什么是服务注册与发现
2.2:注册中心对比
nacos:是阿里开源的,经过了阿里实践的
erueka:netflix公司的,现在不维护了,不开源了
zookeeper:更多应用于dubbo,大数据环境中安装kafka
三:nacos简介与架构
3.1:架构与功能
nacos功能
3.2:安装与配置
默认为集群,改为单机
3.3:nacos工作原理
四:微服务入门案例
4.1:boot与cloud版本
使用版本有对应关系
4.2:SpringCloud-alibaba
一代与二代五个方面的区别
注册中心;负载均衡器;服务降级熔断与限流;网关;配置中心。
4.3:版本确定
4.4:创建父工程
- 添加微服务基础依赖(3个)
- application properties
- 启动类加注解
- 暴露接口
服务消费者
- 同上3步
- 远程调用服务提供者的微服务
关键代码:
保存订单接口