开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat - 分片 - 微服务连接 MyCat】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/758/detail/13331
MyCat - 分片 - 微服务连接 MyCat
内容介绍:
一、修改配置
二、测试
一、修改配置
上节已经完成的 MyCat 的环境搭建,并且在命令行中进行了查询的测试。本节主要内容是将所有微服务中连接数据库(不连接本地的 MySQL)的操作,而是连接远程的 MyCat。所以接下来要修改三个微服务中关于数据库连接的配置。
1.找到 application.yml,关于 datasource 这一块数据的配置
只需将连接改为 //192.168.192.157:/访问的数据库是 V_SHOP(注意大写),密码改为123456
2.然后将其他两个微服务中( log 和 order)的配置做同样的修改。
到此,微服务的配置修改完毕,接下来将这三个微服务进行重新启动。
为了保证配置能够正常编译,删除了 target ,然后启动让其重新进行编译。
二、测试
1.重启 goods、order、log
访问 Eureka 查看这三个微服务是否正常注册:
Eureka 中关于 geteway、goods、log、order(网关以及三个微服务)已经注册完成。
2.测试
接下来进行测试,先访问 8080:
然后点击商品列表:
(1)然后查看数据能否正常查询:
测试发现数据可以正常查询。
(2)查询订单列表:
订单数据也可以正常查询。
(3)查询系统日志:
系统日志可以正常查询。
3.系统日志共 23 条,之前查询只有 20 条。原因是刚才执行了商品以及订单的查询,这些也进入了日志,所以是 23 条日志。
例如,再次执行商品分页类表的查询和订单的查询,再次查看总的日志数量:
在本地的数据库中,operatelog 有 20 条:
MyCat 中的 operatelog 有 28 条:
验证了当前系统连接的是 MyCat,最终的数据存储到 MySQL 服务器上。
4.再次验证:
查询 operatelog,第一个节点存储 18 条日志:
第二个节点存储 10 条日志:
operatelog 日志信息被存储在这两个节点中,在一共数据库中存储的数据表分散存储到 4 台数据库中了。这四台数据库对应四台服务器,这样就可以做到数据库的扩容。同时,在进行查询进行计算时,可以充分的利用这四台服务器的 CPU 及资源。
5.在系统设置块,有省市县管理、数据字典、系统配置的管理:
但是并没有去实现,但是可以在操作该块表:
在其中有一 provinces 表,可以在各个节点中查看 tb_provinces 中存储的数据
第一个(158):
共 34 条数据
第二个(159):
共 34 条数据
第三个(160)
共 34 条数据
第四条(161):
共 34 条数据
说明全局表在各个节点都存在该表,并且该表的数据是一样的。
6.当在 MyCat 中执行一条更新语句,更新其中的一条记录(北京市):
select*from tb_provinces;
将北京市改为北京,并测试其他四个节点是否可以改正改条数据。
执行语句:
update tb_province set province =’北京’ where provincesid =1100000;
执行更新后再次查询:
说明其修改成功。
查看其他节点,发现都变为了“北京”,所以节点都发生改变,因为他们是全局表。当执行全局表后,对全局表进行增删改的操作后,这四台节点都会将数据改变。
在 Eureka 中进行查询:
数据同样发生了改变。
在最终的测试结果中发现,应用程序连接 MyCat 和 MySQL 是一样的,所以在前期在写代码时,如何操作 MySQL 就如何操作 MyCat。后续部署了 MyCat 后,只要将请求链接改变即可。