NET Core微服务之路:再谈分布式系统中一致性问题分析( 四 )
文章插图
不过 , 由于这种方法在每个状态执行的时候都需要记录下来 , 而且需要更新数据库中的状态信息 , 一旦在大规模高并发下 , 性能将会是一个严重的瓶颈 。
【NET Core微服务之路:再谈分布式系统中一致性问题分析】一种更好的解决办法是用Write-Ahead Logging(WAL) , 也叫预写日志 , 详细介绍可参考维基百科 , 一种提高性能的方法 , 作用是在做每个操作的时候 , 都先写入到日志 , 如果操作遇到问题而停止的时候 , 可以读取日志进行恢复 , 最后达到一致 , 由于他的日志是追加模式 , 磁盘写操作只有传统的回滚日志一半左右 , 大大提高了数据库在高并发下的性能 。
总结
- 如果钱不是问题 , 那么最最简单的方式是使用向上扩展 , 利用强悍的硬件性能来运行专业的关系数据库 , 能否保证强一致性 , 比如Orcele和DB2这样符合工业标准的数据库 。
- 如果钱是个问题 , 那么相关的数据分到数据库的同一个分片 , 能够保证使用关系型数据库实现强一致性 , 比如Mysql 。
- 如果是业务限制 , 无法将相关的数据分到同一个片 , 就需要实现最终一致性 , 通过记录事务的状态来判断 , 一旦处理不一致 , 可通过自动化(如定时)或者人工干预来继续执行 , 并修复不一致的情况 。
- 无边界办公——WebDAV文件共享服务构建
- 苹果服务业务也赚钱:第四季度仍将保持两位数增速
- Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法
- 阿里云数智服务创新挑战赛落幕 南京大学夺冠
- 企业建站使用服务器好还是虚拟主机好?
- 买手机不能忽视售后,OPPO贴心打造“无忧式”服务
- 手把手教你AspNetCore WebApi:Serilog
- 天上不会掉馅饼,马云开始“收网了”,此前免费服务如今开始收费
- 拉勾许单单:招聘的未来是从信息黄页模式到服务模式
- 物联网行业,如何正选的选择服务器解决方案?