当前位置:网站首页 > 数据科学与大数据 > 正文

微服务 配置中心 数据库(微服务数据源怎么配置)



官网: https://spring.io/projects/spring-cloud-alibaba#overview

github: https://github.com/alibaba/spring-cloud-alibaba

中文:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

1.1 功能

服务限流降级:默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。

服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。

分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。

消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。

分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。

阿里云对象存储

分布式任务调度:提供基于 Cron 表达式的任务调度服务。。

阿里云短信服务

Nacos:Dynamic Naming and Configuration Service

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

Nacos 就是注册中心+配置中心的组合( Nacos = Eureka+Config+Bus)

作用: 替代 Eureka 做服务注册中心,替代 Config 做服务配置中心。

官网:https://github.com/alibaba/Nacos

文档:https://nacos.io/zh-cn/index.html

  https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_nacos_discovery

3. 安装并运行 Nacos

环境:Java8+Maven

下载:https://github.com/alibaba/nacos/releases/tag/1.1.4

解压安装包,直接运行 bin 目录下的 startup.cmd

若依框架springcloud主库数据源如何配置_nginx

http://localhost:8848/nacos: 默认账号密码:nacos

若依框架springcloud主库数据源如何配置_分布式_02

新建 module:cloudalibaba-provider-payment9001

父POM:

本模块POM:

YML:

主启动:

业务类:

同样创建 module:cloudalibaba-provider-payment9002 用于负载均衡

创建 module: cloudalibaba-consumer-nacos-order83

POM: 同 4.1

YML:

主启动:

业务类:

ApplicationContextBean:

controller:

服务注册中心:

若依框架springcloud主库数据源如何配置_nginx_03

访问测试:

若依框架springcloud主库数据源如何配置_nacos_04

若依框架springcloud主库数据源如何配置_spring_05

若依框架springcloud主库数据源如何配置_nginx_06

Nacos 支持 AP 和 CP 模式的切换

C:所有节点在同一时间看到的数据是一致的;A:所有的请求都会收到响应。

如果不需要存储服务级别的信息且服务实例是通过 nacos- client 注册,并能够保持心跳上报,那么就可以选择AP模式。当前主流的服务如 Spring cloud 和 Dubbo 服务,都适用于AP模式,AP模式为了服务的可用性而减弱了一致性, 因此AP模式下只支持注册临时实例。

切换命令: curl -X PUT '$NACOS_ SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP'

Nacos 用 Namespace+Group+Data ID 的方式区分不同的配置文件。

若依框架springcloud主库数据源如何配置_nacos_07

最外层的 namespace 可以用于区分部署环境的,Group 和 DatalD 逻辑 上区分两个目标对象。

默认情况:Namespace=public,Group=DEFAULT_ GROUP,Cluster=DEFAULT

Nacos 默认的命名空间是 public,Namespace 主要用来实现隔离。比如有三个环境:发、测试、生产环境,就可以创建三个Namespace,不同的 Namespace 之间是隔离的。

Group 默认是 DEFAULT_ GROUP,Group 可以把不同的微服务划分到同一个分组里面去。

Service 就是微服务,一个 Service 可以包含多个 Cluster (集群),Cluster是对指定微服务的一个虚拟划分。

Instance 就是微服务的实例。

的完整格式如下:

${prefix}-${spring.profile.active}.${file-extension}

  • 默认为  的值,也可以通过配置项 来配置。
  • 即为当前环境对应的 profile, 为空时,对应的连接符 也将不存在,dataId 的拼接格式变成
  • 为配置内容的数据格式,可以通过配置项  来配置。目前只支持  和  类型。

默认命名空间新增配置:

若依框架springcloud主库数据源如何配置_nginx_08

新建module:cloudalibaba-config-nacos-client3377

pom:

bootstrap.yml

application.yml

若依框架springcloud主库数据源如何配置_nginx_09

主启动:

业务类:

@RefreshScope

测试:

若依框架springcloud主库数据源如何配置_分布式_10

新建命名空间 test,在test下创建 Data ID 为:nacos-config-client-test.yaml Group 为:TEST_GROUP 的配置文件。

若依框架springcloud主库数据源如何配置_微服务_11

修改 YML:

bootstrap.yml

application.yml

测试:

若依框架springcloud主库数据源如何配置_nginx_12

Nacos 自带动态刷新

若依框架springcloud主库数据源如何配置_分布式_13

Nacos 默认数据库为嵌入式数据库 derby。

步骤:

  • 安装 mysql 数据库,版本要求:5.6.5+
  • 初始化 mysql 数据库,数据库初始化文件:nacos-mysql.sql
  • 修改 conf/application.properties 文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

将 下的 conf/cluster.conf.example 复制出一个 cluster.conf。内容:

【注】IP不能写127.0.0.1,必须是Linux命令 hostname -i 能够识别的IP

由于本地只有一台机器,所以编辑 Nacos 的启动脚本 startup.sh,使它能够接受不同的启动端。

修改思路:启动脚本可以接收 -p 端口号 参数,在指定的端口启动。

第一步:

若依框架springcloud主库数据源如何配置_nacos_14

第二步:

若依框架springcloud主库数据源如何配置_nginx_15

启动 nacos:

若依框架springcloud主库数据源如何配置_微服务_16

在 http 模块下配置:

在 server 模块下配置:

到此 1个Nginx+3个nacos注册中心+1个mysql 已配置完成。

通过 Nginx 访问 nacos,添加一个配置。

若依框架springcloud主库数据源如何配置_分布式_17

查看数据库:

若依框架springcloud主库数据源如何配置_微服务_18

将 5.2 module:cloudalibaba-config-nacos-client3377 注册进 nacos 集群。配置如下:

若依框架springcloud主库数据源如何配置_nacos_19

访问测试:

若依框架springcloud主库数据源如何配置_分布式_20

到此这篇微服务 配置中心 数据库(微服务数据源怎么配置)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 数据库端口号怎么查看是否正确(数据库端口号怎么查看是否正确的)2025-08-24 16:00:08
  • 数据中台实战:手把手教你搭建数据中台.pdf(数据中台实战 pdf)2025-08-24 16:00:08
  • 数据库新手教程(数据库新手教程pdf)2025-08-24 16:00:08
  • JS判断数据是否为File类型2025-08-24 16:00:08
  • VUE去除绑定回显数据中的空格:v-model.trim2025-08-24 16:00:08
  • retinanet训练自己的数据(resnet50训练自己的数据集)2025-08-24 16:00:08
  • odbc数据库(odbc数据库驱动程序字符值无效)2025-08-24 16:00:08
  • 如何看数据库的端口号(如何查看数据库的端口)2025-08-24 16:00:08
  • 密码查询系统(密码查询数据)2025-08-24 16:00:08
  • 3dtile数据(3dtile数据用超图打开)2025-08-24 16:00:08
  • 全屏图片