美文网首页知数堂MySQL学习
MongoDB高并发写场景开启读写分离读从库为何阻塞? 我们该如

MongoDB高并发写场景开启读写分离读从库为何阻塞? 我们该如

作者: 小知_知数堂 | 来源:发表于2019-11-09 06:58 被阅读0次

目录

MongoDB高并发写场景开启读写分离读从库为何阻塞? 我们该如何处理?

MongoDB 4.0有哪些新特性,你最期待的有哪些,为什么?

Redis如何获取所有的key,不阻塞?

MySQL中间件的性能测试和常规业务性能测试相比有什么不同?


一、MongoDB高并发写场景开启读写分离读从库为何阻塞? 我们该如何处理?

1、按业务拆分逻辑降低读写并发度

2、添加分片均衡读写

3、升级至即将到来的4.0通过读snapshot解决从库读阻塞

二、MongoDB 4.0有哪些新特性,你最期待的有哪些,为什么?

1、多文档事务的支持,解决了多文档操作的原子性问题

2、snapshot读相关支持,使得可在某个timestamp点上读到一个一致性的快照

3、Change Streams 支持实例及库级别粒度为业务提供了更多实时捕获变更的选择

4、聚合框架支持类型转换及字符前后空格截断操作

5、加入对SCRAM-SHA-256认证策略以支持更强的认证加密验证

6、提供通过简单的命令开启免费监控功能

7、更多的操作支持w:majority 比如对集合进行分片,创建删除集合等

8、listCollections 可以指定nameOnly:true 而不加锁

9、增加 rollbackTimeLimitSecs参数控制节点回滚的最大时间限制

10、支持直接在mongos路由节点直接kill具体操作无需按分片进行

11、使用WiredTiger引擎不允许关闭journal日志

三、Redis如何获取所有的key,不阻塞?

1、在slave上执行Save命令,拷贝rdb文件到其他redis实例上用于统计key。

2、可以利用scan命令,来遍历当前数据库中的数据库键。

四、MySQL中间件的性能测试和常规业务性能测试相比有什么不同?

性能测试的方法论基本都一样,以观察-分析-改进-再观察这个循环进行。

常规业务由于业务交互复杂、技术栈庞杂、性能瓶颈通常集中于业务, 性能测试使用的分析方法比较简单, 通过诊断业务通常可以低成本地找到性能瓶颈。

MySQL中间件的应用场景比较简单、技术栈稳定、性能瓶颈通常集中于架构和环境, 性能测试使用的分析方法比较多, 对性能瓶颈的分析通常成本比较高。另外在这一方面的现有知识积累并不很成体系, 也是成本较高的原因之一。


公众号:知数堂,更多MySQL干货知识,关注公众号获取。

原文链接:[https://zhishutang.com/QH9](https://zhishutang.com/QH9)

推荐阅读:[https://zhishutang.com/xdI](https://zhishutang.com/xdI)

相关文章

  • MongoDB高并发写场景开启读写分离读从库为何阻塞? 我们该如

    目录 MongoDB高并发写场景开启读写分离读从库为何阻塞? 我们该如何处理? MongoDB 4.0有哪些新特性...

  • CopyOnWriteArrayList源码分析

    如果要并发读写,如果用synchronized和ReentrantLock那会严重阻塞 读-读,读-写,写-写。如...

  • 读写锁(ReentrantReadWriteLock)

    读写锁:核心思想实现读写分离,高并发下特别适合 读多写少的场景。 synchronized关键字和Reentran...

  • 主从复制与读写分离

    主从复制的意义 读写分离,master写,slave读,使数据库接收更大的并发(高并发)。 数据备份 故障恢复,m...

  • 23、MVCC 可以为数据库解决什么问题?

    MVCC 可以为数据库解决什么问题? 在并发读写数据库时,可以做到在读操作时不用阻塞写操作,写操作也不用阻塞读操作...

  • MySQL读写分离最佳实践

    文/Bruce.Liu1 文章大纲读写分离简介1.1. 常见高并发场景1.2. 读写分离原理1.3. 读写分离类型...

  • 处理高并发的方式

    处理高并发的方式: 多进程 多线程 缓存(本地,nosql) 主从(读写分离):主写从读 nginx负载均衡 fa...

  • Go - sync.RWMutex

    设计目的 大多数读请求之间互不影响,在读多写少的场景下,可以分离读写操作,提高读写并发性能. 限制 只能读读并发,...

  • mvcc原理

    MVCC mvcc 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引...

  • 数据库主从一致性问题

    背景 上一篇我写了为了处理高并发带来的数据库压力问题,引出了数据库读写分离技术。其思想总结为:一主多从、读写分离,...

网友评论

    本文标题:MongoDB高并发写场景开启读写分离读从库为何阻塞? 我们该如

    本文链接:https://www.haomeiwen.com/subject/haegbctx.html