学习新技术最快的方式就是:
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分库分表路由成功,验证结束。