Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。
Spring Cloud Alibaba 提供的主要组件包括:
Nacos:服务注册中心、配置中心、服务元数据存储中心。
Sentinel:流量控制、熔断降级、系统负载保护。
Seata:分布式事务解决方案。
dubbo:远程调用RPC框架。
RocketMQ:阿里的开源分布式消息中间件,高性能、高可用、高吞吐量的金融级消息中间件。
OSS(收费): 文件存储服务
ScheduleX(收费):分布式任务调度。
SMS(收费): 短信服务。
Spring Cloud 微服务体系
Spring Cloud 是分布式微服务架构的一站式解决方案,它提供了一套简单易用的编程模型,使我们能在 Spring Boot 的基础上轻松地实现微服务系统的构建。 Spring Cloud 提供以微服务为核心的分布式系统构建标准。
Spring Cloud 本身并不是一个开箱即用的框架,它是一套微服务规范,共有两代实现。
Spring Cloud Netflix 是 Spring Cloud 的第一代实现,主要由 Eureka、Ribbon、Feign、Hystrix 等组件组成。
Spring Cloud Alibaba 是 Spring Cloud 的第二代实现,主要由 Nacos、Sentinel、Seata 等组件组成。
Spring Cloud Alibaba 定位
Spring Cloud Alibaba 是阿里巴巴结合自身丰富的微服务实践而推出的微服务开发的一站式解决方案,是 Spring Cloud 第二代实现的主要组成部分。吸收了 Spring Cloud Netflix 微服务框架的核心架构思想,并进行了高性能改进。自 Spring Cloud Netflix 进入停更维护后,Spring Cloud Alibaba 逐渐代替它成为主流的微服务框架。
同时 Spring Cloud Alibaba 也是国内首个进入 Spring 社区的开源项目。2018 年 7 月,Spring Cloud Alibaba 正式开源,并进入 Spring Cloud 孵化器中孵化;2019 年 7 月,Spring Cloud 官方宣布 Spring Cloud Alibaba 毕业,并将仓库迁移到 Alibaba Github OSS 下。
D:\ArchitectPracticer\MicroServiceTools\nacos-server-2.4.3\nacos\bin>startup.cmd -m standalone
"nacos is starting with standalone" ,--.
,--.'|
,--,: : | Nacos 2.4.3
,`--.'`|' : ,---. Running in stand alone mode, All function modules
| : : | | ' ,'\ .--.--. Port: 8848
: | \ | : ,--.--. ,---. / / | / / ' Pid: 22544| : ' ';| / \ / \.; ,. :| : /`./ Console: http://192.168.31.227:8848/nacos/index.html
' ';. ;.--. .-. | / / ''||: :| : ;_
|||\ |\__\/: . .. ' / '| .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
2024-12-06 21:27:26,565 INFO Tomcat initialized with port(s): 8848 (http)
2024-12-06 21:27:26,977 INFO Root WebApplicationContext: initialization completed in 3424 ms
2024-12-06 21:27:31,041 INFO Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@4cad79bc, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2c63762b, org.springframework.security.web.context.SecurityContextPersistenceFilter@726934e2, org.springframework.security.web.header.HeaderWriterFilter@1163a27, org.springframework.security.web.csrf.CsrfFilter@3b55dd15, org.springframework.security.web.authentication.logout.LogoutFilter@3f6bf8aa, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@e280403, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@42f85fa4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7a9eccc4, org.springframework.security.web.session.SessionManagementFilter@92d1782, org.springframework.security.web.access.ExceptionTranslationFilter@28a9494b]
2024-12-06 21:27:31,288 INFO Adding welcome page: class path resource [static/index.html]
2024-12-06 21:27:31,783 INFO Exposing 1 endpoint(s) beneath base path '/actuator'
2024-12-06 21:27:31,789 WARN You are asking Spring Security to ignore Ant [pattern='/**']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.
2024-12-06 21:27:31,805 INFO Will not secure Ant [pattern='/**']
2024-12-06 21:27:31,805 WARN You are asking Spring Security to ignore Mvc [pattern='/prometheus']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.
2024-12-06 21:27:31,805 INFO Will not secure Mvc [pattern='/prometheus']
2024-12-06 21:27:31,805 WARN You are asking Spring Security to ignore Mvc [pattern='/prometheus/namespaceId/{namespaceId}']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.
2024-12-06 21:27:31,805 INFO Will not secure Mvc [pattern='/prometheus/namespaceId/{namespaceId}']
2024-12-06 21:27:31,805 WARN You are asking Spring Security to ignore Mvc [pattern='/prometheus/namespaceId/{namespaceId}/service/{service}']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.
2024-12-06 21:27:31,805 INFO Will not secure Mvc [pattern='/prometheus/namespaceId/{namespaceId}/service/{service}']
2024-12-06 21:27:31,867 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
2024-12-06 21:27:31,867 INFO No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2024-12-06 21:27:31,901 INFO Nacos started successfully in stand alone mode. use embedded storage
2024-12-06 21:27:42,783 INFO Initializing Servlet 'dispatcherServlet'
2024-12-06 21:27:42,785 INFO Completed initialization in 1 ms
预览: