iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Node.js Sequelize如何实现数据库的读写分离
  • 764
分享到

Node.js Sequelize如何实现数据库的读写分离

如何实现数据库Node 2022-06-04 17:06:11 764人浏览 独家记忆
摘要

一、前言 在构建高并发的WEB应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性。使用较多的数据库优化方案是:通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(M

一、前言

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

1. replication选项与读写分离

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

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

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

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

· username - 验证用户名

· passWord - 验证密码

· database - 要连接的数据库

2. Sequelize读/写分离示例

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


var sequelize = new Sequelize('database', null, null, {
 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', username: 'root', password: null }
 },
 pool: { // 如果需要重写链接池,请在 pool 选项中修改
  maxConnections: 20,
  maxIdleTime: 30000
 },
})

所有的整体性设置,都会适用于所有节点副本,所以并不需要为每个实例单独指定。在上例中,数据库名和端口号会应用于所有节点副本,用户名和密码选项也同样适用。如果某一节点副本不使用全局设置,则需要在replication选项中单独指定。

注意:Sequelize 并不会设置主从复制节点及节点间的数据同步(复制),这些操作实际由Mysql(或你所使用的数据库)完成。而 Sequelize 只负责从主从节点写入或读取数据。

Sequelize 会使用连接池来管理节点副本。

默认选项是:


{
 maxConnections: 10,
 minConnections: 0,
 maxIdleTime:1000
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

--结束END--

本文标题: Node.js Sequelize如何实现数据库的读写分离

本文链接: https://www.lsjlt.com/news/12932.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node.js Sequelize如何实现数据库的读写分离
    一、前言 在构建高并发的Web应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性。使用较多的数据库优化方案是:通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(M...
    99+
    2022-06-04
    如何实现 数据库 Node
  • Amoeba实现数据库读写分离
    一 环境以及软件版本:系统:CentOS Linux release 7.2.1511 (Core)mysql:Server version: 5.6.33Amoeba:amoeba-mysql-3.0.5...
    99+
    2022-10-18
  • Redis如何实现数据库读写分离详解
    前言 Redis是一种NoSQL的文档数据库,通过key-value的结构存储在内存中,Redis读的速度是110000次/s,写的速度是81000次/s,性能很高,使用范围也很广。Redis是一个key-...
    99+
    2022-10-18
  • 分析型数据仓库中如何实现读写分离
    这篇文章主要为大家展示了“分析型数据仓库中如何实现读写分离”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“分析型数据仓库中如何实现读写分离”这篇文章吧。和以 My...
    99+
    2022-10-19
  • 如何利用mycat实现mysql数据库读写分离
    这篇文章主要介绍了如何利用mycat实现mysql数据库读写分离,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是MyCAT一个彻底开源的...
    99+
    2022-10-18
  • 使用Atles实现MySQL数据库读写分离
    本文主要给大家简单讲讲使用Atles实现MySQL数据库读写分离,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望使用Atles实现MySQL数据库读写分离这篇...
    99+
    2022-10-18
  • Linux下如何使用MaxScale实现数据库读写分离
    这篇文章主要介绍Linux下如何使用MaxScale实现数据库读写分离,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以...
    99+
    2023-06-27
  • Spring如何实现多数据源读写分离
    这篇文章主要介绍“Spring如何实现多数据源读写分离”,在日常操作中,相信很多人在Spring如何实现多数据源读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spri...
    99+
    2022-10-19
  • 利用amoeba实现mysql数据库读写分离的案例
    小编给大家分享一下利用amoeba实现mysql数据库读写分离的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_prox...
    99+
    2022-10-18
  • 如何理解数据库读写分离架构?
    如何理解数据库读写分离架构?,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RD:数据量太大,数据库扛不住了,帮忙申请一个从库,读写分离。D...
    99+
    2022-10-19
  • 如何理解数据库集群读写分离
    本篇内容介绍了“如何理解数据库集群读写分离”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!“灵魂拷问:解决数...
    99+
    2022-10-18
  • 关系型数据库之mysql-proxy实现读写分离
    简要:  mysql-proxy作为mysql测试项目,可以实现读写分离架构,具有开发能力的公司通过二次开发的方式去完善bug应用在生产环境中,下面我们通过案例使用mysql-proxy实现读写分...
    99+
    2022-10-18
  • 利用amoeba实现mysql数据库的读写分离的方法
    这篇文章将为大家详细讲解有关利用amoeba实现mysql数据库的读写分离的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。关于mysql的读写分离架构有很多,百度的话...
    99+
    2022-10-18
  • 数据库读写分离的坑有哪些
    这篇文章主要讲解了“数据库读写分离的坑有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库读写分离的坑有哪些”吧!前言事情是这样的,刚入职的时候接到了...
    99+
    2022-10-18
  • 利用amoeba(变形虫)实现mysql数据库读写分离
    前期准备工作: 1.两个数据库,一主一从,主从同步; master: 172.22.10.237:3306 ;主库负责写入操作; slave: 10.4.66.58:3306 ; 从库负责读取操作; amoeba: 172.22.10.23...
    99+
    2015-09-22
    利用amoeba(变形虫)实现mysql数据库读写分离
  • ProxySQL中怎么利用MySQL实现数据库读写分离
    ProxySQL中怎么利用MySQL实现数据库读写分离,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ProxySQL介绍1、连接池,而且是mu...
    99+
    2022-10-18
  • mysql数据库中怎么利用mycat实现读写分离
    这期内容当中小编将会给大家带来有关mysql数据库中怎么利用mycat实现读写分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、部署mycat下载 [root@myc...
    99+
    2022-10-18
  • maxscale + mariadb5.5如何实现读写分离
    本篇文章给大家分享的是有关maxscale + mariadb5.5如何实现读写分离,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、安装[r...
    99+
    2022-10-18
  • MySQL中如何实现读写分离
    MySQL中如何实现读写分离,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一,创建Master数据库的配置文件vi master...
    99+
    2022-10-18
  • php+mysql如何实现读写分离
    这篇“php+mysql如何实现读写分离”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php+mysql如何实现读写分离”文...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作