shardingsphere分库分表项目实践1-让shardingsphere运行起来

学习新技术最快的方式就是:

1. 先找一个比较完善的demo跑起来

2. 弄清楚用法:配置、原理、使用场景

3. 移植到自己项目上,按照自己需求进行修改优化。

找demo项目的方法:优先去官方git库找,如果没有或者过于简单那么就找一个相关的、活跃的、star多的项目。

本次实验项目源码:  https://github.com/nageoffer/12306.git  

环境搭建:

后端:

1.git clone 代码,导入到IDEA ,前后端代码放在一个git库里面。

2.安装依赖的其他服务器:

安装 nacos注册中心、redis 

安装步骤请见: SpringCloud微服务实战系列:01让SpringCloud项目在你机器上运行起来-CSDN博客

安装 sentinel :

​docker pull bladex/sentinel-dashboard
docker run --name sentinel -p 8858:8858   -p 8719:8719   -td bladex/sentinel-dashboard  

http://localhost:8858/   用户名/密码:sentinel/sentinel

安装并初始化数据库:

 安装步骤请见: SpringCloud微服务实战系列:01让SpringCloud项目在你机器上运行起来-CSDN博客

新建库: 可以先只创建 12306_user_0 、12306_user_1   这两个库,本次演示验证只启动user模块。 

初始化库: 执行这两个sql文件

启动后端:

1.确认配置文件中 redis  数据库 nacos  sentinel  端口、用户名密码是否正确。

2.为了快速看效果,先只启动gateway、user两个模块。 

前端:

安装  nodejs 

安装yarn :    npm install -g yarn  ,并将yarn的路径配置到环境变量,yarn 一般位于

C:\Users\当前用户\AppData\Roaming\npm 

启动前端:

切换到项目的 console-vue 目录,然后依次执行以下命令:

验证:

打开前端登录页面http://localhost:8080/login 

点击登录,登录成功

因为登录需要查询user库中的 t_user 表的用户信息,, 通过user服务的日志可以看出shardingsphere 对数据库进行了路由(数据源:ds_0),对sql的表名进行了改写(t_user ===>  t_user_15), 并成功找到了数据,shardingsphere分库分表路由成功,验证结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494694.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QSS样式表 - ⑥】:QPushButton控件样式

文章目录 QPushBUtton控件样式QSS示例 QPushBUtton控件样式 常用子控件 常用伪状态 QSS示例 代码: QPushButton {background-color: #99B5D1;color: white;font-weigth: bold;border-radius: 20px; }QPushButton:hover {background-color: red; }QPushButton:p…

layui动态拼接生成下拉框验证必填项失效问题

利用 jQuery 动态拼接下拉框时&#xff0c;lay-verify"required" 失效了&#xff0c;有以下几种原因。 1. <form></form>标签 加入 layui 类&#xff0c;class"layui-form" 。提交按钮上加自动提交&#xff0c;lay-submit ""; 。需…

Vue 92 ,Element 15 ,Vue + el-upload 实现图片上传与管理

目录 前言 一. 文章背景 二. 项目结构 三. 核心代码解析 1. 页面结构 2. 属性介绍 3. 必要参数 4. 函数逻辑 四. 相关样式布局 五. 关键功能解释 六. 注意事项 七. 本文总结 前言 在这篇博客中&#xff0c;我们将深入探讨如何使用 Vue 和 el-upload 构建一个图片上…

安宝特应用 | 美国OSHA扩展Vuzix AR眼镜应用,强化劳动安全与效率

随着工业技术的进步&#xff0c;如何在保障员工安全的同时提高生产效率成为现代企业面临的重要挑战。 美国劳工部职业安全与健康管理局&#xff08;OSHA&#xff09;于2024年12月2日宣布对Vuzix M400智能眼镜进行扩大部署&#xff0c;代表AR技术正为工业环境下的劳动保护开辟了…

linux socket编程之udp_dict_serve服务端--引入配置文件

注意&#xff1a;本篇博客只是对上一篇博客功能的增加 1.创建配置文件(翻译) Dict.txt apple: 苹果 banana: 香蕉 cat: 猫 dog: 狗 book: 书 pen: 笔 happy: 快乐的 sad: 悲伤的 run: 跑 jump: 跳 teacher: 老师 student: 学生 car: 汽车 bus: 公交车 love: 爱 hate: 恨 hell…

HTML基础学习(1)

目录 第一章、基础知识介绍1.1&#xff09;基础知识介绍1.1.1&#xff09;计算机介绍&#xff1a;硬件和软件1.1.2&#xff09;架构介绍1.1.3&#xff09;网站介绍 1.2&#xff09;HTML基础介绍1.2.1&#xff09;HTML创建网页文件与标签1.2.2&#xff09;标签1.2.3&#xff09;…

Android修行手册 - 移动端几种常用动画方案对比

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

MySQL 数据库优化详解【Java数据库调优】

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把…

初学stm32 --- NVIC中断

目录 STM32 NVIC 中断优先级管理 NVIC_Type: ISER[8]&#xff1a; ICER[8]&#xff1a; ISPR[8]&#xff1a; ICPR[8]&#xff1a; IABR[8]&#xff1a; IP[240]&#xff1a; STM32 的中断分组&#xff1a; 中断优先级分组函数 NVIC_PriorityGroupConfig 中断初始化函…

掌握命令行参数的艺术:Python的`argparse`库

文章目录 掌握命令行参数的艺术&#xff1a;Python的argparse库背景argparse库简介标准库中的重要性简单库函数使用方法场景应用常见Bug及解决方案总结 掌握命令行参数的艺术&#xff1a;Python的argparse库 背景 在Python编程中&#xff0c;我们经常需要从命令行接收参数来控…

如何根据一系列提交文件,匹配对应的git提交记录?用ai

显示提取提交文件记录的git历史&#xff08;用的豆包写一下&#xff09; 显示每次提交涉及的文件名及提交注释等基本信息 可以使用以下命令格式&#xff1a; git log --name-only --prettyformat:“%an - %s” myFolder/ –name-only选项的作用是在显示提交信息时&#xff0…

Redis篇--常见问题篇6--缓存一致性1(Mysql和Redis缓存一致,更新数据库删除缓存策略)

1、概述 在使用Redis作为MySQL的缓存层时&#xff0c;缓存一致性问题是指Redis中的缓存数据与MySQL数据库中的实际数据不一致的情况。这可能会导致读取到过期或错误的数据&#xff0c;从而影响系统的正确性和用户体验。 为了减轻数据库的压力&#xff0c;通常读操作都是先读缓…

探寻快速排序的局限性及其优化策略

一. 快速排序之局限 快速排序的平均时间复杂度为O(nlogn)。其核心步骤是&#xff1a;先从待排序数组中选定一个元素作为基准&#xff08;pivot&#xff09;&#xff0c;通过一趟排序将数组分成两部分&#xff0c;使得左边部分的元素都小于等于基准元素&#xff0c;右边部分的元…

CS!GO

CS&#xff08;computer science&#xff09;计算机科学&#xff0c;说实话&#xff0c;不是找工作面试&#xff0c;这些题谁会背啊&#xff0c;反正我不行&#xff0c;一问三不知。 咱也不管这些&#xff0c;这个系列&#xff0c;可能会时不时的给出一些计网和操作系统相关的东…

python 内存管理

Python中的内存管理涉及包含所有Python对象和数据结构的私有堆。Python内存管理器在内部确保对此私有堆的管理。需要注意的是&#xff0c;Python堆的管理是由解释器本身执行的&#xff0c;并且用户无法控制它。从源码来看&#xff0c;分为以下几层&#xff1a; level 3&#xf…

Matlab个性化绘图第6期—带标记面的三维折线图

带标记面的三维折线图本质上就是多组折线图&#xff1a; Matlab论文插图绘制模板第92期—折线图&#xff08;Plot&#xff09; 或者三维折线图&#xff1a; Matlab论文插图绘制模板第37期—三维折线图(plot3) 不同之处在于带标记面的三维折线图把每一组数据单独放在一个三维平…

C/C++圣诞树

系列文章 序号直达链接1C/C爱心代码2C/C跳动的爱心3C/C李峋同款跳动的爱心代码4C/C满屏飘字表白代码5C/C大雪纷飞代码6C/C烟花代码7C/C黑客帝国同款字母雨8C/C樱花树代码9C/C奥特曼代码10C/C精美圣诞树11C/C俄罗斯方块12C/C贪吃蛇13C/C孤单又灿烂的神-鬼怪14C/C闪烁的爱心15C…

【C++语言】多态

一、多态的概念 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某种行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 我们可以举一个例子&#xff1a; 比如买票这种行为&#xff0c;当普通人买票时&#xff0c;是全价买票&am…

GitCode 光引计划投稿|MilvusPlus:开启向量数据库新篇章

在人工智能和大数据时代&#xff0c;向量数据库作为处理非结构化数据的核心技术&#xff0c;正变得越来越重要。MilvusPlus&#xff0c;作为「光引计划」的一部分&#xff0c;应运而生&#xff0c;旨在提供一个高性能、易扩展、全功能的向量数据库解决方案。项目背景根植于对现…

Java设计模式 —— 【结构型模式】外观模式详解

文章目录 概述结构案例实现优缺点 概述 外观模式又名门面模式&#xff0c;是一种通过为多个复杂的子系统提供一个一致的接口&#xff0c;而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口&#xff0c;外部应用程序不用关心内部子系统的具体的细节&#xff0c;这…