为什么要学习微服务框架知识?
从求知的角度、企业的角度,微服务都是必知必会的!
需要学习哪些微服务知识?
传统单点架构,无法承载高并发场景;微服务领域按功能模块,将应用拆分成多个服务。大型企业可能拆分出成百上千的服务。
1、注册中心:这么多的服务,如何维护、更新服务状态,注册中心记录所有服务的信息,管理服务间的调用管理
2、配置中心:所有服务的配置集中管理
3、服务网关:验证访问的合法性、管理用户请求
4、分布式缓存:缓存数据,解决数据库压力
5、分布式搜索:复杂数据、海量数据的搜索
6、消息队列:服务间异步通信
更进一步:
7、分布式日志服务、系统监控链路追踪:记录集群的日志、访问状态,随时追踪集群的运行情况
如此庞大的系统,如何更快的自动化运作:
8、CICD:持续集成
国内流行的几款微服务技术框架
Dubbo | SpringCloud | SpringCloudAlibaba | |
---|---|---|---|
介绍 | 源于阿里巴巴,技术栈不完整 | 整合开源服务 | 源于阿里巴巴,继续整合,同时兼容前两种架构 |
注册中心 | zookeeper、Redis | Eureka、Consul | Nacos、Eureka |
服务远程调用 | Dubbo协议 | Feign(http协议) | Dubbo、Feign |
配置中心 | 无 | SpringCloudConfig | SpringCloudConfig、Nacos |
服务网关 | 无 | SpringCloudGateway、Zuul | SpringCloudGateway、Zuul |
服务监控和保护 | dubbo-admin、功能弱 | Hystix | Sentinel |
企业选型
选型 | 技术栈 | 服务接口风格 | 服务调用风格 |
选型1:SpringCloud+Feign | SpringCloud | Restful | Feign |
选型2:SpringCloudAlibaba+Feign | SpringCloudAlibaba | Restful | Feign |
选型3:SpringCloudAlibaba+Dubbo | SpringCloudAlibaba | Dubbo | Dubbo |
选型4:Dubbo原始模式 | Dubbo老旧技术体系 | Dubbo | Dubbo |
选型1 VS. 选型2:几乎等同
选型4 升级到 选型3:可直接升级,原服务无须改动
SpringCloud
- SpringCloud是目前国内使用最广泛的微服务框架。官网地址:Spring Cloud
- SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供良好的开箱即用体验。
微服务
服务注册发现:Eureba、Nacos、Consul
服务远程调用:OpenFeign、Dubbo
统一配置管理:SpringCloudConfig、Nacos
统一网关路由:SpringCloudGateway、Zuul
流控、降级、保护:Hystix、Sentinel
服务链路监控:Zipkin、Sleuth
SpringCloud与SpringBoot的版本兼容关系: