Spring Cloud:Nacos,Sentinel

Spring Cloud Alibaba 简介

Spring Cloud 是若干个框架的集合,包括 spring-cloud-config、spring-cloud-bus 等近 20 个子项目,提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。一般来说,Spring Cloud 包含以下组件,主要以 Netflix 开源为主。

同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

API 网关:[Zuul, Gateway]

限流降级:Sentinel 高可用

服务层:
{
  可集成 Ribbon、OpenFeign,
  [Dubbo 服务调用,Dubbo 服务调用,Dubbo 服务调用],
  Seata 分布式事务
}

消息驱动:RocketMQ

服务治理:
[Nacos 服务发现,Nacos 服务中心,Arths 服务监控]

阿里云商业化组件:
[Alibaba Cloud ACM, Alibaba Cloud OSS, Alibaba Cloud SchedulerX]

数据层
阿里开源组件

Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

RocketMQ:开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

Dubbo:在国内应用非常广泛的一款高性能 Java RPC 框架。

Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

Arthas:开源的 Java 动态追踪工具,基于字节码增强技术,功能非常强大。

阿里商业化组件

阿里巴巴推出 Spring Cloud Alibaba,很大程度上市希望通过抢占开发者生态,来帮助推广自家的云产品。所以在开源社区,夹带了不少私货,阿里商业化组件,整体易用性和稳定性还是很高的。

Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。

Alibaba Cloud OSS:阿里云对象存储服务 Object Storage Service,OSS,是阿里云提供的云存储服务。

Alibaba Cloud SchedulerX:阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准的定时(基于 Cron 表达式)任务调度服务。

集成 Spring Cloud 组件

Spring Cloud Alibaba 作为整套的微服务解决组件,只依靠目前阿里的开源组件是不够的,更多的是集成当前的社区组件,所以 Spring Cloud Alibaba 可以集成 Zuul,GateWay 等网关组件,也可继承 Ribbon、OpenFeign 等组件。

Nacos 服务注册和配置中心

Nacos 介绍

Nacos - Dynamic Naming and Configuration Service 是阿里巴巴开源的一个针对微服务架构中服务发现、配置管理和服务管理平台。

Nacos 就是注册中心 + 配置中心的组合。

Nacos = Eureka + Config + Bus。

官网 - https://nacos.io,下载地址 - https://github.com/alibaba/Nacos

Nacos 功能特性:

  • 服务发现与健康检查。
  • 动态配置管理。
  • 动态 DNS 服务。
  • 服务和元数据管理;管理平台的角度,Nacos 也有一个 UI 页面,可以看到注册的服务及其实例信息(元数据信息)等;动态的服务权重调整、动态服务优雅下线,都可以去做。
Nacos 单例服务部署

下载解压安装包,执行命令启动(使用最近比较稳定的版本 nacos-server-1.2.0.tar.gz):

# linux/mac: 
sh startup.sh -m standalone
# windows: 
cmd startup.cmd

访问 nacos 控制台:http://127.0.0.1:8848/nacos/#/login 或者 http://127.0.0.1:8848/nacos/index.html(默认端口 8848,账号和密码 nacos / nacos)。

微服务注册到 Nacos

1)在 lagou-parent 父项目 pom 中增加 SCA 的依赖版本管理:

<dependencyManagement>
    <dependencies>
        <!-- SCN -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Greenwich.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- SCA -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.1.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

2)在商品服务提供者和消费者工程中引入 nacos 客户端依赖,必须删除 eureka-client 依赖(另外在 page 服务中删除 bus-amqpconfig-client 的依赖,删除完后,把出现报错的注解也一并删除):

<!-- Spring cloud alibaba nacos 客户端的依赖 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud NacosSentinel都支持持久化配置文件,可以通过以下步骤进行配置: 1.在Nacos中创建配置文件。可以使用Nacos的Web界面或Nacos的API创建配置文件,例如在Nacos的Web界面中创建名为“sentinel”的配置文件。 2.在Sentinel中添加配置文件。可以通过在Sentinel中添加以下配置来指定Nacos作为配置中心: ``` -Dcsp.sentinel.datasource.type=nacos -Dcsp.sentinel.datasource.nacos.serverAddr=${nacos.serverAddr} -Dcsp.sentinel.datasource.nacos.namespace=${nacos.namespace} -Dcsp.sentinel.datasource.nacos.dataId=${nacos.dataId} -Dcsp.sentinel.datasource.nacos.groupId=${nacos.groupId} ``` 其中,${nacos.serverAddr}、${nacos.namespace}、${nacos.dataId}和${nacos.groupId}是Nacos配置文件的相关信息。 3.在Sentinel中启用持久化配置。可以通过在Sentinel Dashboard中配置以下参数来启用持久化配置: ``` -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel -Dcsp.sentinel.api.port=8721 -Dcsp.sentinel.dashboard.auth.username=sentinel -Dcsp.sentinel.dashboard.auth.password=sentinel -Dcsp.sentinel.log.use.pid=true -Dcsp.sentinel.datasource.config.file=${user.home}/sentinel/config/properties -Dcsp.sentinel.datasource.config.file.name=sentinel.properties -Dcsp.sentinel.datasource.config.encrypt.key=q9Ec7J6K8sR1T2L4 ``` 其中,${user.home}/sentinel/config/properties是持久化配置文件的路径。 4.在Nacos中修改配置文件。可以通过Nacos的Web界面或Nacos的API修改配置文件。例如,在Nacos的Web界面中修改名为“sentinel”的配置文件。 5.在Sentinel中更新配置。可以通过在Sentinel Dashboard中的“配置中心”页面中点击“刷新”按钮来更新配置。配置更新后,Sentinel会自动加载新配置。 通过以上步骤,就可以实现Spring Cloud NacosSentinel的持久化配置文件功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值