nacos 写时复制
时间: 2023-08-22 14:14:36 浏览: 81
nacos集群搭建.md
Nacos中的写时复制策略是指在注册表的读写并发冲突时的处理方式。具体来说,当读取数据时,读取的是原始集合中的数据;而在写数据时,会先加锁,然后复制一份数据集合,对这个复制后的数据集合进行写操作。完成写操作后,将初始数据集合指向修改后的地址,然后解锁。这样可以避免并发冲突导致的数据异常。\[1\]
这种写时复制策略是Nacos保证性能和稳定性的一部分。另外,Nacos还采用了阻塞队列和异步注册的方式来提高性能。客户端请求Nacos服务端的注册接口时,Nacos服务端会将服务实例放在一个阻塞队列中,然后由一个线程完成注册,实现异步操作。同时,Nacos还使用了写实复制和读写分离的策略,防止多节点并发冲突。在注册时,Nacos会先复制一份服务实例列表进行修改,然后在写完后用新的服务列表替换旧的服务列表,读操作则读取原来的服务列表。这样可以避免并发读写冲突带来的异常情况。\[2\]
总的来说,Nacos的写时复制策略是为了解决注册表的读写并发冲突问题,通过加锁、复制数据集合等方式来保证数据的一致性和稳定性。同时,Nacos还采用了阻塞队列、异步注册、写实复制和读写分离等策略来提高性能和稳定性。\[1\]\[2\]
#### 引用[.reference_title]
- *1* [Nacos中的线程池使用总结记录](https://blog.csdn.net/qq_43631716/article/details/121341563)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Nacod服务注册与发现(AP架构)、心跳检查机制](https://blog.csdn.net/qq_45076180/article/details/115590261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [nacos解析-raft算法日志复制原理](https://blog.csdn.net/weixin_38308374/article/details/119653883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文