百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

动态切换数据库连接方案(数据库中动态数据怎么处理)

liuian 2025-06-23 20:37 3 浏览

引言

  • 需求: 查询SQL Server数据库的时候可以根据实际情况分配服务器来提供服务,大大提高服务速度和优化性能,完成负载均衡。
  • 方案:推荐从数据库服务端做集群
  1. 数据库服务器:
  • 例如SQL Server数据库可以采用ICX 动态路由,所有的数据库客户都通过ICX访问数据库。
  • SQL Server的Always On 故障转移群集
  • Moebius for SQL server
  1. 数据库客户端:
  • 使用nginx-upsync-module模块配置Nginx以实现sql server 数据库负载均衡
  • 使用数据库时,先从数据库实例状态表查询可用的数据库连接信息
  • 书写脚本,修改数据库连接信息,手动切换。

I 案例:手动切换数据库配置

存储数据库配置信息

基于spring.profiles.include属性加载不同的配置文件

配置方法:

  1. 若是properties文件:spring.profiles.include=dev1,dev2

配置spring.profiles.active=dev,
application-dev.properties中,配置spring.profiles.include=dev1,dev2。使用
application-dev.properties时自动就激活了dev1、dev2两个文件

控制台打印The following profiles are active:dev, dev1,dev2

  1. 若是yaml文件中

spring
profiles
include:
-dev1
-dev2

书写切换脚本

切换到15数据库

#!/bin/bash
sed -i 's/include: 18jdbc/include: 15jdbc/g'
/usr/local/bttomcat/tomcat9/webapps/xx/WEB-INF/classes/application-prod.yml

#-i选项会直接在文件上进行修改。
# 重启tomcat服务

/etc/rc.d/init.d/bttomcat9 stop && /etc/init.d/bttomcat9 start 2> /dev/null

切换到18数据库脚本touch 18jdbc.sh; chmod a+x 18jdbc.sh

#!/bin/bash
sed -i 's/include: 15jdbc/include: 18jdbc/g'
/usr/local/bttomcat/tomcat9/webapps/xx/WEB-INF/classes/application-prod.yml

#-i选项会直接在文件上进行修改。
# 重启tomcat服务

/etc/rc.d/init.d/bttomcat9 stop && /etc/init.d/bttomcat9 start 2> /dev/null

II 知识扩展

使用sed命令替换文件内容

将文件filename中所有出现的oldtext替换为newtext。

sed -i 's/old_text/new_text/g' filename
#-i选项会直接在文件上进行修改。

激活环境配置文件

命名规则遵循application-${profile}.properties,例如:

  • 开发环境配置文件:application-dev.properties
  • 测试环境配置文件:application-test.properties
  • 生产环境配置文件:application-prod.properties

#激活的是开发环境配置文件
spring.profiles.active=dev

执行有参启动时,可以在命令中进行指定要选用的配置文件

java -jar xx.jar --spring.profiles.active=test

相关推荐

谷歌Gemini 2.5全线爆发!勇战濒死恐慌,却被宝可梦吓到当场宕机

编辑:定慧桃子【新智元导读】今天,谷歌旗舰Gemini2.5三箭齐发,首次亮相轻量版2.5Flash-Lite。最新70页技术报告中,爆料了Gemini2.5在玩宝可梦濒死时,惊现类人的恐慌,...

Claude 4系列模型正式发布,号称“世界上最好的”AI编程模型

当地时间5月22日,Anthropic在其首次开发者大会上,正式发布了其下一代Claude模型系列:ClaudeOpus4和ClaudeSonnet4。该公司在公告中高调宣称,...

p5.js 中文入门教程(p5js和js怎么转换)

本文简介点赞+关注+收藏=学会了本文的目标是和各位工友一起有序的快速上手p5.js,会讲解p5.js的基础用法。本文会涉及到的内容包括:项目搭建p5.js基础2D图形文字图形样式...

ElasticSearch中文分词插件(IK)安装

坚持原创,共同进步!请关注我,后续分享更精彩!!!前言ElasticSearch默认的分词插件对中文支持很不友好。一段话按规则会以每个中文字符来拆解,再分别建立倒排索引。如"中华人民共和国国歌...

ELK 教程 - 发现、分析和可视化你的数据

【注】本文译自:ELKStackTutorial-GettingStartedWithELKStack|Edureka随着越来越多的IT基础设施转身云计算,对公共云安全工具...

网络安全事件技术排查(网络安全事件排查有哪些因素)

1.文件分析a)文件日期与异常文件检测文件时间检查:Windows:通过文件属性查看创建/修改时间,但需注意攻击者可能伪造时间(如使用工具修改文件时间戳)。Linux:使用ls-l或sta...

日志文件转运工具Filebeat笔记(日志文件生成原理)

一、概述与简介Filebeat是一个日志文件转运工具,在服务器上以轻量级代理的形式安装客户端后,Filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并将来自...

Spring Boot 分布式系统中的日志打印设计:实战指南

在分布式系统中,日志是排查问题、监控系统状态和进行事后分析的“生命线”。然而,随着微服务架构的普及,日志的管理和检索变得愈发复杂。尤其是在生产环境中,当问题发生时,如何快速定位相关日志成为了一个关键挑...

Loki日志系统取代ELK?(日志系统 elk)

一、Loki是什么?Loki是由GrafanaLabs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。Loki采用...

20 个最热门的 MCP Server,收藏备用!

1.GitHubMCPServer功能:代码仓库管理、自动化代码审查、处理拉取请求(PR)、Issue跟踪。项目地址:https://docs.github.com/en/rest核心架构:基于...

ElasticSearch实现数据模糊搜索(el-select模糊搜索)

关注我的微信公众号:后端技术漫谈不定期推送关于后端开发、爬虫、算法题、数据结构方面的原创技术文章,以及生活中的逸闻趣事。我目前是一名后端开发工程师。主要关注后端开发,数据安全,网络爬虫,物联网,边缘计...

Linux 日志系统维护的实战示例(linux 日志文件系统)

Linux日志系统维护的实战示例,涵盖常见场景和工具:1.日志轮转与清理(Logrotate)问题:系统/var/log空间不足,需定期切割和清理旧日志。实战步骤:检查默认配置Logrotat...

日志分析平台——ELK安装配置(elk日志解析)

简介:ELK是(Elasticsearch、Logstash、Kibana)三个软件的集合简称。那么这三个软件分别扮演着一个什么样的角色呢?Elasticsearch:搜索引擎,主要任务是将日志索引并...

Docker上使用Elasticsearch,Logstash,Kibana

在对一个项目做性能测试时我需要处理我们web服务器的访问日志来分析当前用户的访问情况。因此,我想这是试用ELK的一个好机会。ELK栈首先要注意的是使用它是非常简单的。从决定使用ELK到在本机上搭一个...

.NET Core 性能监控(.net core性能对比)

一、.NETCore性能监控的重要性随着.NETCore应用程序的广泛应用,性能监控成为了保障应用稳定运行的关键环节。性能监控可以帮助开发者实时掌握应用状态,快速定位问题所在,并采取相应的...