架构设计上的实践总结
- 解决跨区数据一致问题,如果数据库不支持同步,则在业务层做双读或者双写,双读和双写的使用场景不同
- 灌库在线数据库,为了减少在线压力,尽量的把压力转移到离线数据库来(例如hbase支持大批量的scan)
- 对于读和写的权衡,如果是读多写少,则需要保证读优先,写尽量不要影响读;如果是读少写多,则要尽量避免写写冲突,尽量不要影响写,读的优先级低
- 对于数据库,也有读写之间的权衡,牺牲部分读性能的以LSM-tree结构的数据库为准:如leveldb、hbase、pika、rocksdb以及mysql的redo日志;优先读性能的数据库有mysql的myisam引擎(B树,数据存节点上)
- 对于升级后做数据兼容,大部分IDL能支持(例如protobuf),但存在某些不支持的数据协议(例如json),这时候需要采取双读或者双写的方式规避不兼容带来的数据不一致问题
- 设计原则:架构就是取舍,取舍就存在不确定性,但原则可以遵循:1)合适原则 2)演进原则
作者:bytesmover
出处: https://www.cnblogs.com/longbozhan/p/16053938.html
如果您觉得本文对您有帮助,请点击一下右下方的推荐按钮, 如果您对本文有任何疑问并想和作者探讨,请在本文下方评论,我看到后将第一时间回复!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。
出处: https://www.cnblogs.com/longbozhan/p/16053938.html
如果您觉得本文对您有帮助,请点击一下右下方的推荐按钮, 如果您对本文有任何疑问并想和作者探讨,请在本文下方评论,我看到后将第一时间回复!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗