有没有各位兄台遇到过的,就比如像 dubbo ,他也是分布式的,中间controller 跟 service 都不在同一个模块里,controller 只调用下 service de接口, 就可以得到远程 service 的执行结果。
我数据源的配置还用到了mysql主从读写分离,是不是我这个生效了,再配个 监控就不行了,还有我这个监控也要配成 主从的才行,因为好像我那个 datasource 就是配的主从,执行到的 sql 应该也是吧,所以再配就监控不到?
就在这种场景下,怎么使用 druid sql的监控,查了很多开源监控,感觉还是 druid 最好用,但我不知道该咋整了。
如需要提供更多信息,请联系。
感谢各位看官,问题已得到解决,并且能很好的在 主从库切换,也就是当前 被查询时,那么当前监控到 查询库的情况,当前如果在写,那么在web的数据源又切回 主库,Driud 太强大了,开箱即用,很美味。
说一下我解决过程吧。
我就是像上述一样,有了 master 和 slave 的配置,在每个配置项最后添加下面这句就基本搞定了。
spring.datasource.master.filters=stat,wall,logback
最后配置 后台管理的页面和web过滤,就行了。
还收获了一点就是,配置项中的 spring.datasource.druid 这个 druid 是不用配置的,而且我用 master 和 slave 代替了他,是因为要配置多个数据源,其实配置项中 druid 这个节点名是可以省去的。
看点
如果对主从监控感兴趣的,可以关注我的动态,我将在后续给出详细的文章,供给大家参考,利于这个平台上良性循环地发展。
该回答内容部分引用GPT,GPT_Pro更好的解决问题
你可以尝试使用Druid来进行MySQL主从监控,Druid能够支持MySQL中的读写分离,也就是所谓的主从结构,即主库只用于写入数据,从库用于读取数据。
要实现Druid的MySQL主从监控,首先需要在MySQL中配置主从结构,主库和从库之间需要有同步机制,实现数据的及时同步。
然后再在Druid中需要进行配置,具体的配置如下:
1、不要使用druid的testOnBorrow参数;
2、将druid的initialSize设置为0;
3、将druid的maxActive设置为一个较大的值;
4、将druid的minIdle设置为1或者2;
5、将druid的validationQuery设置为一条查询语句;
6、将druid的validationQueryTimeout设置为一个较大的值(单位是秒);
7、将druid的removeAbandonedTimeout设置为一个较大的值(单位是秒)。
最后,要进行Druid监控MySQL主从结构,可以使用Druid内部提供的StatFilter来实现。StatFilter能够收集执行的SQL语句、SQL语句执行时间以及相关性能信息。通过StatFilter的监控可以跟踪MySQL主从之间的同步情况,以便对MySQL数据库进行更好的管理。
如果回答有帮助,望采纳。