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

公司想建个网站专业格泰建站

公司想建个网站,专业格泰建站,云南网站推广优化,贸易网站建设公司之前的文章已经提供相关MySQL8的主从与读写分离操作,为了在高并发场景中有更多的实际用处,于是编写该文章说明MySQL8在实现读写分离后结合Redis的方法与步骤。 以下是文中提到的中间件及其版本: 以下是更新后的表格,包含了中间件…

之前的文章已经提供相关MySQL8的主从与读写分离操作,为了在高并发场景中有更多的实际用处,于是编写该文章说明MySQL8在实现读写分离后结合Redis的方法与步骤。

以下是文中提到的中间件及其版本:

以下是更新后的表格,包含了中间件的下载地址和适用的操作系统信息:

中间件名称版本下载地址适用的操作系统
MySQL Router8.0.28MySQL Router 下载Linux, Windows, macOS
MyCAT1.6-RELEASEMyCAT GitHubLinux

一、MySQL 8 读写分离方法

1. 使用 MySQL Router
  • 安装 MySQL Router:在应用服务器上安装 MySQL Router,它作为中间件在应用程序和 MySQL 服务器之间提供透明路由。
    # 下载并安装 MySQL Router
    wget https://dev.mysql.com/get/mysql-router-8.0.28-1.el7.x86_64.rpm
    sudo rpm -ivh mysql-router-8.0.28-1.el7.x86_64.rpm
    
  • 配置 MySQL Router:创建配置文件 mysqlrouter.conf,指定主从节点信息和读写分离策略。
    [DEFAULT]
    logging_folder = /var/log/mysqlrouter[routing:bootstrap_rw_split]
    bind_address = 0.0.0.0
    bind_port = 6446
    destinations = metadata_cache://myreplica/?role=PRIMARY_AND_SECONDARY
    routing_strategy = round-robin
    protocol = classic
    
  • 启动 MySQL Router:使用以下命令启动 MySQL Router,使其开始转发请求。
    mysqlrouter --config /etc/mysqlrouter/mysqlrouter.conf --user=mysql
    
  • 连接并测试:应用程序通过 MySQL Router 的监听端口(如 6446)连接,Router 会自动将读写请求分发到相应的节点。
2. 使用 MyCAT
  • 安装 MyCAT:在 Linux 系统上安装 JDK 和 MyCAT。
    # 安装 JDK
    tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local/
    export JAVA_HOME=/usr/local/jdk1.8.0_91
    export PATH=$PATH:$JAVA_HOME/bin# 安装 MyCAT
    tar xf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
    export MYCAT_HOME=/usr/local/mycat
    
  • 配置 MyCAT:编辑 schema.xml 文件,定义虚拟数据库和数据节点,指定主从节点的连接信息和读写分离策略。
    <schema name="game" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn01">
    </schema>
    <dataNode name="dn01" dataHost="dh01" database="game" />
    <dataHost name="dh01" maxCon="1000" minCon="10" balance="1"writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="hostM1" url="192.168.140.10:3306" user="mycatuser" password="WWW.1.com"></writeHost><writeHost host="hostS1" url="192.168.140.11:3306" user="mycatuser" password="WWW.1.com" />
    </dataHost>
    
  • 启动 MyCAT 并测试:启动 MyCAT 服务,应用程序通过 MyCAT 的监听端口连接,MyCAT 会根据配置实现读写分离。

二、MySQL 8 读写分离配合 Redis 使用

1. 利用 Redis 缓存热点数据
  • 配置主从复制:确保 MySQL 主从复制正常工作,数据同步到从节点。
  • 在应用程序中实现读写分离:将写操作发送到主节点,读操作发送到从节点。
  • 配置 Redis 缓存:在应用程序中,对于频繁读取的热点数据,先查询 Redis。如果 Redis 中存在数据,则直接返回;如果不存在,则从 MySQL 从节点查询数据并缓存到 Redis 中。
    # 示例代码
    def get_data(key):# 从 Redis 获取数据data = redis.get(key)if data is not None:return data# 如果 Redis 中没有数据,从 MySQL 从节点查询data = mysql_slave.query(key)# 将数据缓存到 Redisredis.set(key, data)return data
    
  • 更新数据时同步更新 Redis:在写操作时,除了更新 MySQL 主节点数据,还需删除或更新 Redis 中对应的缓存数据,确保数据一致性。
2. 使用 Redis 作为读取层
  • 配置数据同步:使用 MySQL 的二进制日志或触发器,将数据变更同步到 Redis 中。可以利用消息队列(如 Kafka、RabbitMQ)来消费 MySQL 的 binlog,然后更新 Redis。
    # 示例代码,消费 MySQL binlog 并更新 Redis
    def consume_binlog():for binlog_event in binlog_stream:if isinstance(binlog_event, UpdateRowsEvent):for row in binlog_event.rows:key = row['values']['key']value = row['values']['value']redis.set(key, value)
    
  • 在应用程序中读取 Redis:应用程序的读操作直接从 Redis 中获取数据,减少对 MySQL 从节点的读取压力,提高读取性能。

通过以上方法,可以有效地实现 MySQL8 的读写分离,并结合 Redis 提高系统的性能和可扩展性。在实际应用中,需要根据具体的业务需求和系统架构,合理选择和配置读写分离方案以及 Redis 缓存策略。
如有疏漏或者更好的补充,欢迎各位看官随时沟通或留言。
email:code_captain@163.com

http://www.dtcms.com/wzjs/546041.html

相关文章:

  • 泉州pc网站开发网站站点怎么做
  • 莱芜手机网站设计公司官网好看的公司
  • 旅游网站建设课程设计报告老薛主机wordpress
  • 网站子域名怎么设置中企动力是国企还是央企
  • 网站那种推广链接怎么做百度流量
  • php做网站步骤好看简单易做的网站
  • 企业网站系统cms站牛网
  • 桂林网站建设公司网络公司网站制作岗位职责
  • 网站备案前置审批类型怎么做卡蜜网站
  • 网站推广和宣传的方法珠海h5模板建站
  • 番禺网站建设设计求个没封的w站2022
  • 线框图网站什么叫网站建设
  • 媒易网络网站建设培训运维工程师是青春饭吗
  • 杭州网站做的好公司广东省外贸网站建设
  • 视频网站建设费用明细物联网在生活中的应用
  • 网站建设 优惠天津建筑工程信息
  • 织梦的网站数据还原怎么做wordpress照片主题
  • 网站如何做免费的推广专业创建网站
  • wordpress调用 别的网站没有影视许可怎么用国内空间做网站
  • 网站域名及空间购买个人网站设计分类
  • 个人网站有哪些举例做中学网站
  • 怎么把做的网页放网站淘宝网站建设的策划书
  • 重庆公司章程在哪里下载wordpress seo
  • 济宁市建设银行网站网站建设销售策划方案
  • 全面的网站制作中卫网站推广软件
  • 贵州建设网站工业核信息化部网站备案系统
  • 下载的网站模板怎么进入后台免费静态网站托管
  • 苏州专业设计网站东莞振安保安公司
  • 大连哪有做网站的在哪做网站不要钱
  • 徐州百度网站快速优化wordpress 密码查看