Spring Cloud Alibaba架构设计

一、微服务架构的常见解决方案

Apache ServiceComb

前身是华为云的微服务引擎 CSE (Cloud Service Engine) 云服务,是全球首个Apache微服务顶级项目。

它提供了一站式的微服务开源解决方案,致力于帮助企业、用户和开发者将企业应用轻松微服务化上云,并实现对微服务应用的高效运维管理。

SpringCloud

是基于基础之上开发的微服务框架,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.服务网关 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 实现调用链监控 “ 以上仅为博主学习笔记,仅供参考。如有错误,感谢指出!抱拳
经验分享 程序员 微信小程序 职场和发展