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

北京房地产网站建设美术生最吃香的专业

北京房地产网站建设,美术生最吃香的专业,毕业设计做网站用什么,安泽网站建设1 概述 对数据进行读写分离,可以将读流量从主数据库中剥离出来,进一步降低读操作对写操作的影响。读写分离的实现可以有多种方式,例如通过proxySQL、mycat等中间件来实现,也可以在应用进程内实现。本文介绍JAVA程序通过spring框架…

1 概述

对数据进行读写分离,可以将读流量从主数据库中剥离出来,进一步降低读操作对写操作的影响。读写分离的实现可以有多种方式,例如通过proxySQL、mycat等中间件来实现,也可以在应用进程内实现。本文介绍JAVA程序通过spring框架和mybatis框架对mysql主从集群进行读写分离。

2 程序思路

1)配置文件写入两个或以上的数据源。
在这里插入图片描述


2)javax.sql.DataSource是一个接口,实现类org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource具备一个按照一个字符串key选择一个具体数据源的能力。mybatis框架会自动使用该实现类,只需要在该类增加@Primary。
在这里插入图片描述
考虑到取出key是并发的,需要使用到ThreadLocal类。
在这里插入图片描述


3)对mapper的方法新增一个切面
在这里插入图片描述

4)mapper保持不变即可
在这里插入图片描述

3 完整程序git地址

https://gitee.com/handsomeboylj/read-write-apart-demo.git

4 部署

4.1 准备一个kubernetes集群

在华为云购买一个集群即可。
在这里插入图片描述


4.2 安装helm

cd /tmp
wget https://get.helm.sh/helm-v3.16.2-linux-amd64.tar.gz
tar xf helm-v3.16.2-linux-amd64.tar.gz
cd linux-amd64
/bin/cp -f helm /usr/bin/
helm env
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

4.3 通过helm部署mysql 8.0主从集群

由于用于测试,数据库不需要持久化。
数据库root密码是:password,并自动创建名称叫demo的数据库。

helm install mysql-ha-demo bitnami/mysql \
--set auth.rootPassword=my-secret-pw \
--set auth.database=demo \
--set auth.replicationUser=repuser \
--set auth.replicationPassword=reppassword \
--set primary.persistence.enabled=false \
--set secondary.persistence.enabled=false \
--set auth.rootPassword=password \
--set architecture=replication

在这里插入图片描述

4.4 部署JAVA程序

git clone https://gitee.com/handsomeboylj/read-write-apart-demo.git
cd read-write-apart-demo
kubectl apply -f k8s-demo.yaml

在这里插入图片描述
JAVA程序的deployment有一个init容器,会对数据库进行初始化,有数据直接可用。

程序的接口如下:
读接口:

GET /api/users/1RESPONSE:
{"id": 1,"name": "Alice","age": 25
}

写接口:

POST /api/users
{"name":"test","age":30}

4.5 Ingress暴露JAVA程序

在这里插入图片描述
路由如下:
在这里插入图片描述

5 测试

5.1 读接口测试

在浏览器访问ELB的公网地址和接口路径:
在这里插入图片描述
JAVA程序中会打印日志:

数据库切换成: slave

在这里插入图片描述

5.2 写接口测试

curl -X POST -H "Content-Type: application/json" -d '{"name":"test","age":20}' http://公网EIP/api/users && echo

在这里插入图片描述
可见JAVA程序中会打印日志:

数据库切换成: master

6 小结

本文介绍JAVA程序对mysql数据库进行读写分离的思路、代码实现,并且通过部署一套mysql集群和JAVA程序容器来进行实际测试,让人达到直观的效果。


文章转载自:

http://zG3YRyp0.znhpg.cn
http://5mdLDGBS.znhpg.cn
http://GuX1tIe3.znhpg.cn
http://HlYK8Dat.znhpg.cn
http://adgWnHYx.znhpg.cn
http://5EDnbCsD.znhpg.cn
http://EmSOJw8A.znhpg.cn
http://9lRDb7AX.znhpg.cn
http://xjTZ9W4J.znhpg.cn
http://69K29rGH.znhpg.cn
http://RKkVsRxm.znhpg.cn
http://VwCVEb2G.znhpg.cn
http://Xcj0twhp.znhpg.cn
http://iCV76T3z.znhpg.cn
http://t1BDjgrj.znhpg.cn
http://lUf01cKE.znhpg.cn
http://xqG1qh3C.znhpg.cn
http://HF5JN3mR.znhpg.cn
http://Mptk5eFD.znhpg.cn
http://MSGyFBP4.znhpg.cn
http://HgWfn7Un.znhpg.cn
http://DTmpV0HK.znhpg.cn
http://Ym8NPXiO.znhpg.cn
http://RDqsbZgQ.znhpg.cn
http://zUVviU0p.znhpg.cn
http://T7yRqT59.znhpg.cn
http://LLYAJu96.znhpg.cn
http://ULeeaB6f.znhpg.cn
http://k8q0d0vj.znhpg.cn
http://dStGQSSK.znhpg.cn
http://www.dtcms.com/wzjs/707572.html

相关文章:

  • 小学的门户网站建设积分兑换商城网站建设
  • 海拉尔网站设计网页分析案例
  • 易语言网站开发手机网站开发兼容性
  • 北京网站设计培训学校上海市建设工程咨询网
  • 高级服装定制网站用宝塔做网站
  • 西部数码空间可以做会所网站吗桂林漓江自由行攻略
  • 网站建设打不开网站建设效果有客优秀网站建设效果
  • H5网站建设报价多少大连网站平台研发
  • 网站加入搜索引擎怎么做网站设置在哪里找到
  • 免费注册个人网站小程序入口文件
  • 备案停止网站电商网站建设总结
  • 成都建设银行保安招聘网站前端开发工程师工资一般是多少
  • 个人备案的网站可以做宣传正规电商平台前十名
  • 网站模版下载安阳做一个网站多少钱
  • 报网站开发培训班怎样用手机搭建网站
  • icp网站信息网站建设是怎么赚钱的
  • 竞网做的网站好网站建设公司收费
  • 网站设计与制作的流程网站返回500错误页面
  • 做网站 用什么建站软件好wordpress 淘宝 采集
  • 网站开发采购合同模板下载网站页面设计规范
  • 做网站一般哪里找成都哪些公司做网站好
  • share poine 户做网站网站开发包括网站的
  • 绍兴网站建设哪家专业农副产品网站建设目标
  • 做网页去哪些网站找素材较好设计上海展会2021时间
  • 在线网站优化公司上海网站建设找站霸网络
  • 什么网站发布任务有人做广告创意图片
  • wordpress网站在线安装可以免费制作网页的网站
  • 网上销售网站建设策划为什么进行网站备案
  • 临沂网站制作费用网站首页代码
  • 货源网站开发动漫设计网站