Spring Cloud Ablibaba 学习系列文章

简介: Spring Cloud Ablibaba 学习系列文章

前言:

最近发现Spring Cloud的应用越来越多了,微服务的概念在一般的互联网公司上面几乎都会使用到,于是准备一套Spring Cloud Alibaba的学习文章,文章写到一定阶段,会进行实战篇,比如搭建注册通信的框架,以及微服务之间如何进行发现以及通信的处理。

框架篇

Spring到Spring Boot,随着Spring的不断发展,越来越多的组件集成到框架中。Spring框架也从一个小巧的IOC容器变成了一套大而全的框架集合。开发人员为了实现组件的整个工作,往往需要在xml文件、java注解中完成各种bean的配置,从而使的Spring的使用越来越难,大大降低了开发的效率。

使用Spring Boot可以大大的简化Spring应用的开发工作,在Spring Boot中无论官方组件还是框架都会提供各种start来方便开发者来依赖和集成。由于采用了依赖约定大于配置的思想,开发者可以做很少的配置工作就可以完成框架集成的工作,往往开发者只需要很少的代码量就可以实现以前大量配置文件才能做到的功能。

同时Spring Boot还是一套面向生产环境设计的框架,配置外化,运行情况检查功能,可以很方便的在系统外部实现对系统的管理。同时SpringBoot还是一个运行时容器。通过内嵌Tomcat等使程序的运行不在依赖传统的应用服务器。这一点在云原生很有 意义

Spring 官方对Spring Boot的特色如下:

    1. 创建独立的Spring的应用程序
    2. 直接嵌入Tomcat
    3. 提供依赖项,简化构件配置
    4. 尽可能自动配置Spring和三方类库
    5. 提供可用于生产的功能,例如指标,运行状况检查和外部化配置
    6. 完全没有代码生成,也不需要xml配置

    spring官网的给出的架构图如下:

    image.gif编辑

    Spring Cloud是一系列Microservice,微服务的实现,围绕这些微服务做各种的辅助信息的功能。例如:分布式跟踪、服务注册、配置服务等,都围绕微服务所依赖的支持特性功能,Spring Cloud是以微服务为核心分布式系统的一个构件标准。

    image.gif编辑

    图中深色的部分,其实就是Spring Cloud的标准,一共有三层,中间颜色最深的部分就是整个微服务最核心的部分,包括了rpc调用一级服务注册与发现。第二层,也就是围绕着最核心的这一圈,是一些辅助微服务更好的工作,包括了负载均衡、路由、网关、断路器,还有就是追踪等等这些内容。再外层的话,主要是写分布式云环境里面的通用能力

    最外面的这一圈,是Spring Cloud Alibaba对Spring Cloud的实现。右上部分是对于Spring Cloud标准的实现。

    目前,Spring Cloud Alibaba包含以下组件:

    开源部分:

      1. Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性
      2. Nacos:一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台
      3. RocketMQ :一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务
      4. Dubbo:Apache Dubbo是一款高性能JAVA RPC框架
      5. Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案

      平台服务部分

        1. Alibaba Cloud OSS:阿里云对象存储服务(Object Storage Service,简称OSS),是阿里巴巴提供的海量、安全、低成本、高可靠的存储服务。在任何应用、任何时间、任何地点存储和访问任意类型的数据。
        2. Alibaba Cloud Schedule X:阿里中间件团队开发一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时任务调度服务
        3. Alibaba Cloud SMS:覆盖全球的短信服务、友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道

        分布式配置

          1. 简介:
              1. Nacos提供用于存储配置和其他元数据的Key、Value存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用Spring Cloud Alibaba Nacos Config,可以在Nacos Server集中管理Spring Cloud应用的外部属性配置
              2. Spring Cloud Ablibaba Nacos Config是Config Server和Client的替代方案,客户端和服务器上的概念与Spring Environment和PropertySource有着一致的抽象,在特殊的bootstrap阶段,配置被加载到Spring环境中。当应用程序通过部署管道从开发到测试再到生产时,可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有的内容。Nocos的获取和启动方式可以参考官网
                  1. 学习目标
                      1. 使用Nacos Config作为Spring Cloud分布式配置
                      2. 使用Nacos Config实现Bean动态刷新
                      3. 了解Nacos Config高级配置
                          1. 详细内容
                              1. 快速上手,使用Nacos Config作为外部化配置源
                              2. 多文件扩展名支持:以YAML文件扩展名为例,讨论Nacos Config多文件扩展名支持
                              3. 动态配置更新:演示@ RefreshScope特性,实现Bean动态刷新
                              4. 运维特性:演示Nacos config高级外部化配置以及Endpoint
                                相关文章
                                |
                                20小时前
                                |
                                安全 Java Docker
                                |
                                1天前
                                |
                                Java 开发者 微服务
                                Spring Cloud原理详解
                                【5月更文挑战第4天】Spring Cloud是Spring生态系统中的微服务框架,包含配置管理、服务发现、断路器、API网关等工具,简化分布式系统开发。核心组件如Eureka(服务发现)、Config Server(配置中心)、Ribbon(负载均衡)、Hystrix(断路器)、Zuul(API网关)等。本文讨论了Spring Cloud的基本概念、核心组件、常见问题及解决策略,并提供代码示例,帮助开发者更好地理解和实践微服务架构。此外,还涵盖了服务通信方式、安全性、性能优化、自动化部署、服务网格和无服务器架构的融合等话题,揭示了微服务架构的未来趋势。
                                13 6
                                |
                                5天前
                                |
                                JSON Java Apache
                                Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
                                Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
                                |
                                5天前
                                |
                                负载均衡 Java 开发者
                                Spring Cloud:一文读懂其原理与架构
                                Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
                                |
                                6天前
                                |
                                Java Nacos 微服务
                                全面学习SpringCloud框架指南
                                V 哥建议:如果你正在学习SpringCloud,你可以把这篇文章作为学习指南,如果你已经学过了,可以查漏补缺,因为 V 哥这篇文章全面介绍了SpringCloud的方方面面,当然你还需要结合官方文档的细节和源码部分去学习,成功拿下SpringCloud不是问题。加油兄弟!
                                |
                                7天前
                                |
                                消息中间件 Java RocketMQ
                                Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
                                【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
                                20 1
                                |
                                7天前
                                |
                                Dubbo Java 应用服务中间件
                                Spring Cloud Dubbo: 微服务通信的高效解决方案
                                【4月更文挑战第28天】在微服务架构的发展中,服务间的高效通信至关重要。Spring Cloud Dubbo 提供了一种基于 RPC 的通信方式,使得服务间的调用就像本地方法调用一样简单。本篇博客将探讨 Spring Cloud Dubbo 的核心概念,并通过具体实例展示其在项目中的实战应用。
                                13 2
                                |
                                7天前
                                |
                                监控 Java Sentinel
                                Spring Cloud Sentinel:概念与实战应用
                                【4月更文挑战第28天】在分布式微服务架构中,确保系统的稳定性和可靠性至关重要。Spring Cloud Sentinel 为微服务提供流量控制、熔断降级和系统负载保护,有效预防服务雪崩。本篇博客深入探讨 Spring Cloud Sentinel 的核心概念,并通过实际案例展示其在项目中的应用。
                                16 0
                                |
                                7天前
                                |
                                Cloud Native Java Nacos
                                Spring Cloud Nacos:概念与实战应用
                                【4月更文挑战第28天】Spring Cloud Nacos 是一个基于 Spring Cloud 构建的服务发现和配置管理工具,适用于微服务架构。Nacos 提供了动态服务发现、服务配置、服务元数据及流量管理等功能,帮助开发者构建云原生应用。
                                14 0
                                |
                                10天前
                                |
                                Java 数据安全/隐私保护 Sentinel
                                微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
                                微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流