Mariadb   发布时间:2022-05-23  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Node.js Sequelize如何实现数据库的读写分离大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、前言

在构建高并发的Web应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性。使用较多的数据库优化方案是:通过主从复制(@H_416_5@master-Slave)的方式来同步数据,再通过读写分离(@H_416_5@mysqL-Proxy)来提升数据库的并发负载能力。

1. Replication选项与读写分离

Sequelize 支持读/写分离,要实现读/写分离可以分别为读和写各创建一个Sequelize实例,更方便的使用方式是在创建实例时,通过Replication选项分别指定读/写数据库。

要在Sequelize中使用读/写复制,可以在初始化Sequelize时有时向其Replication选项传递一个对象.这个对象readwrite两个属性。write是一个单一的对象(即:由单台服务器处理写入),而read是一个包含对象的数组(即:由多台服务器处理读取)。每台readwrite服务器都可以包含以下属性:

· host - 数据库服务器的主机

· port - 数据库服务器的主机端口

· username - 验证用户名

· password - 验证密码

· database - 要连接的数据库

2. Sequelize读/写分离示例

在使用主从复制的多台数据库集群中,可以通过在Replication对象的read属性中设置,该属性是一个数组,可以在其中传入一个或多个服务器连接副本。读操作相当于对数据库集群中的从节点进行操作,它会处理所有SELECT查询操作(读操作)。而Replication对象的write属性是一个表示服务器连接的对象,写操作相当于主节点,它会处理所有插入、更新、删除操作(写操作)。

div class="codecode">
{
 dialect: 'MysqL',port: 3306
 Replication: {
  read: [
   { host: '192.168.1.33',username: 'itbilu.com',password: 'pwd' },{ host: 'localhost',username: 'root',password: null }
  ],write: { host: 'localhost',password: null }
 },pool: { // 如果需要重写链接池,请在 pool 选项中修改
  maxConnections: 20,maxIDleTime: 30000
 },})

大佬总结

以上是大佬教程为你收集整理的Node.js Sequelize如何实现数据库的读写分离全部内容,希望文章能够帮你解决Node.js Sequelize如何实现数据库的读写分离所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: