当前位置: 首页 > news >正文

建立旅游网站的目的店铺seo是什么意思

建立旅游网站的目的,店铺seo是什么意思,北京网站建设公司分享网站改版注意事项,绍兴百度seo公司shigen坚持日更的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。坚持记录和分享从业两年以来的技术积累和思考,不断沉淀和成长。 最近shigen加班也比较严重,很多天文章没有更新了,各位读者和伙伴见…

shigen坚持日更的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。坚持记录和分享从业两年以来的技术积累和思考,不断沉淀和成长。

最近shigen加班也比较严重,很多天文章没有更新了,各位读者和伙伴见谅哈。

好的,现在我们进入正题。在之前的文章一文讲清楚mysql主从服务的搭建过程中,我相信伙伴们已经清楚了docker如何快速的搭建mysql主从服务了。那怎么使用呢?这个问题在shigen的心里藏了很久,趁着周末的功夫我正好研究了一下,并把我的代码master-slave-demo放在了gitee上,感兴趣的伙伴可以自己上去看看。当然,也欢迎大家提出优化的点,shigen会及时的回复和更新。

在开始之前,我们用一个图展示出读写分离的原理:

读写分离的原理

不会这么简单吧,是的你没有看错。就当我思考如何展示出这个概念的时候,我发现一张图就这样简单的展示出来了,不可思议。但是事实就是这么简单。

现在,我们的难点就是如何判断用户的请求是读请求还是写请求,然后切换到不同的数据库。 若依框架的多数据库似乎给了我灵感,但是我还没来得及看。现在自己造一个出来,文章中的部分代码参考springboot+mybatis-plus实现读写分离。

老规矩,我们先把自己的mysql集群启动。

启动mysql集群

启动完毕之后,我们开始新建项目:master-slave-demo

引入项目需要的依赖

常用的我不说了,这里需要注意:

  • 引入spring-boot-starter-aop,我们需要用到spring的切片功能
  • mysql的驱动名字变了!com.mysql.mysql-connector-j,伙伴们可以关注一下
  • 需要进入alibaba的druid实现多数据源

配置文件多数据源

这里主要是配置了多个数据源,还有mybatis-plus需要的配置,具体的配置项含义可参考详细的注释

配置类

这里主要是读取我们在yaml配置文件的配置,并将bean放在DateSource中,现在我们需要的是一个路由,动态的切换数据源

数据源路由

数据源路由应需求而生,我们需要做的事就是从重写一下路由规则,规则是我们定制的,这里我们设置了一个dataSourceContextHolder。这个是不是很熟悉,什么holder的 ,就自然引入了线程上下文ThreadLocal

DataSourceContextHolder

这里的轮训是我设计的一个缺陷,我之前针对的是一主两从的设计,所以对2取模,这里对于一主一丛,设计的作用不大。这个类主要的作用就是将不同的数据源塞到县城上下文中。那我们怎么决定呢?我们需要一个切片!

切片设计

代码的核心,主要是拦截我们去查询、修改数据的方法,然后修改上下文。其中,Master注解是我单独设计的,可以用来实现这样的功能:部分接口查询主数据库。其它的就是spring的aop的使用了,这里不加赘述!

补充

需要注意的是,我们的ORM框架是mybatis-plus,我们仍然需要告诉它:你该用哪个数据源。

OK,一番准备之后,我们来测试一下实现的效果。效果我们可以看到会打印出部分的日志,我们根据日志区分,同时我也会采用断点跟进的方式,动态追踪代码。

对,我先看一下我的测试接口:

开始测试了!

  • 查询数据

查询数据测试

  • 查询数据,但是从主节点

从主节点查询数据

这里有个很有意思的现象,出现了进入读切点的日志,@Master应该放在service包下的方法。

对,这里需要改一下:

因为现在只有一个从节点了,不需要轮训了。

  • 添加数据

添加数据测试

可以看到效果已经实现了,源码可以到上文提到的仓库查看。


以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。同时,shigen在多个平台都有文章的同步,也可以同步的浏览和订阅:

平台备注链接
CSDN知名博客平台,很少关注shigen的CSDN主页
知乎专注内容分享和问题解答shigen的知乎主页
掘金高质量博客平台shigen的掘金主页
腾讯云开发者社区腾讯云开发者社区shigen的腾讯云开发者社区主页
微信公众平台个人微信公众号,分享技术和日常公众号名:shigen

shigen一起,每天不一样!

http://www.dt0577.cn/news/54895.html

相关文章:

  • 做面包有关电影网站产品营销策划方案
  • 网络构建是什么天津百度seo推广
  • 手游开发公司手游报价网站是否含有seo收录功能
  • wordpress 英文 企业网站模板河南做网站的
  • 买衣服的网站排行榜班级优化大师网页版
  • 江西 网站制作朝阳区seo搜索引擎优化怎么样
  • 男做基视频网站郑州网站排名优化公司
  • 交三百能在网站上找兼职做的举例网络营销的例子
  • 北京建设工程联合验收网站百度检索入口
  • 中国建设银行香港分行网站搜狗引擎
  • 网站开发的流程图和原型图系统优化助手
  • 有了域名之后怎么做网站兰州做网站的公司
  • 天津怎么建立企业网站写一篇推广商品的软文
  • qq网页版 登陆优化方案怎么写
  • wordpress代码逻辑seo查询官方网站
  • 网站开发课程设计总结网球新闻最新消息
  • 做的单页html怎么放网站学it一年的学费大概是多少
  • 企业网站建设公司选择分析seo网站诊断价格
  • 怎么做网站的投票平台百度提问登陆入口
  • 专门做岛屿的网站微信小程序开发平台官网
  • 哪里有微信网站建设全国人大常委会
  • 如何做织梦手机网站班级优化大师的功能有哪些
  • 企业网站修改流程南宁网站优化
  • wordpress默认后台网站优化名词解释
  • dede 中英文网站网站开发流程
  • 广州网站制作怎样推广恶意点击软件怎样使用
  • 网站开发接单seo上排名
  • 长沙 网站建设seo网络优化前景怎么样
  • 深圳网a深圳网站建设有了域名怎么建网站
  • 山东宏福建设集团有限公司网站整站关键词快速排名