一、微服务架构的常见解决方案
Apache ServiceComb
前身是华为云的微服务引擎 CSE (Cloud Service Engine) 云服务,是全球首个Apache微服务顶级项目。
它提供了一站式的微服务开源解决方案,致力于帮助企业、用户和开发者将企业应用轻松微服务化上云,并实现对微服务应用的高效运维管理。
SpringCloud
是基于SpringBoot基础之上开发的微服务框架,SpringCloud是一套目前非常完整的微服务解决方案框架。
Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。
SpringCloud相关组件
Spring Cloud Alibaba
微服务架构是为了更好的分布式系统开发,将一个应用拆分成多个子应用,每一个服务都是可以独立运行的子工程。其中涵盖了非常多的内容,包括:服务治理、配置管理、限流降级以及对阿里开源生态(Dubbo、RocketMQ等)支持的N多组件。
SpringCloud Alibaba相关组件
二、Spring Cloud 与 Spring Cloud Alibaba
Spring Cloud的几大痛点
-
部分组件停止维护和更新,有问题也不易解决 -
部分环境搭建起来比较复杂,没有非常友好的可视化界面 -
配置相对来说复杂,需要较高的学习成本
Spring Cloud Alibaba的优势
-
阿里经历过了时间的考验 -
设计合理 -
拥有不错的可视化界面,方便运维监控和排查问题 -
环境搭建和配置简单,学习成本低
“首先来说下SpringCloud ,SpringCloud集成的组件是Netflix公司的框架,先说下常用的组件吧
1.服务发现——Netflix Eureka
2.客服端负载均衡——Netflix Ribbon
3.断路器——Netflix Hystrix
4.服务网关——Netflix Zuul
5.分布式配置——Spring Cloud Config
这是目前SpringCloud做分布式必要的组件,遗憾的是有些组件Netflix 不再维护 先说服务发现Netflix Eureka确实是个不错的服务治理框架,但是也还有很多zookeeper,consol,等等,Hystrix断路器,可以实现线程隔离等等操作,很实用,网关做路由身份鉴权,但是很遗憾的是很多都不再维护。还有SpringCloud stream 消息驱动 支持kafka和rabbitMQ。
SpringCloud Alibaba目前属于比较新的架构,目前也在孵化中,第一个版本已经毕业,来说说SpringCloud Alibaba的组件
1.服务发现 nacos
2.客户端负载均衡依旧 Ribbon
3断路器 Sentinel(这个确实很强大)
4.服务网关Gateway
5.分布式配置 可以选择阿波罗和Nacos,nacos可以做注册中心也可以做分布式配置
SpringCloud Alibaba Stream 支持RocketMQ
三、技术框架
-
Spring Cloud Alibaba - Nacos 实现注册中心
-
Spring Cloud Alibaba - Nacos 实现配置中心
-
Spring Cloud Alibaba - Sentinel 实现服务容错
-
Spring Cloud Alibaba - Seata 实现分布式事务
-
Spring Cloud - Ribbon 实现负载均衡
-
Spring Cloud - Feign 实现远程调用
-
Spring Cloud - Gateway API网关
-
Spring Cloud - Sleuth 实现调用链监控
“
以上仅为博主学习笔记,仅供参考。如有错误,感谢指出!抱拳