一、微服务
1、总览-微服务的技术栈
- 注册中心,管理服务的IP和端口等
- 配置中心,实现配置热部署
- 消息队列,通过发送消息实现异步通知,避免服务链路过长带来的时间损失
- 服务路由,类比于小区门房,识别身份+提供服务路由
- 分布式搜索,解决分布式缓存不能解决的复杂查询
2、微服务理解
- 单体架构
- 分布式架构
分布式架构带来的问题:服务之间需要远程调用;服务集群的地址需要单独维护;服务之间需要远程调用;
微服务是一种良好设计的分布式架构。有以下特征: - 拆分粒度小,每一个服务对应唯一的业务能力
- 对外暴露接口
- 自治:团队、技术、数据、部署都是独立的。每个微服务都有自己的数据库。
- 隔离性好,一个服务错误不会影响其他服务
3、微服务技术框架
微服务是一种架构,需要具体的技术框架来实现。
- Dubbo,核心是Dubbo协议,其他的组件不太行
- SpringCloud,集成了许多微服务技术组件
- SpringCloudAlibaba,阿里在Dubbo基础上的加强,Nacos支持Dubbo和Feign两种接口协议,使得这种框架可以兼容前两者
4、springcloud技术
最广泛的技术框架,使用springboot实现了各种微服务组件的自动装配,做到了开箱即用。spingcloud和springboot有版本对应关系,必须使用某一版本的boot