当前位置: 首页 > news >正文

GO:GO程序如何处理缓存加载和大数据缓存

如果我们会在程序启动时,需要加载所有数据,最简单的方式就是程序启动,通过轮训从数据库拉取所有数据,并写入到本地缓存中。

 

问题:数据量较大的时候,程序加载慢,启动时间长,遇到问题不能及时的发布程序。

        为了解决这个问题 ,我们可以将数据处理为文件,随程序一起发布编译。为了防止数据不能及时的更新,我们可以使用消息通知的方式来进行数据的增量同步。

canal 可以伪装成数据库的从库 ,通过binlog 来同步数据库更新和插入的数据

MQ 可以使用kafka 、rocketMq等来作为消息队列

问题:海量的数据如果通过本地服务无法全量缓存应该怎么处理?

     采用分配集群的策略,将数据按一定规则拆分成多份,并放入不同的服务集群中,上游服务根据规则将请求路由到相应的集群,这就是所谓的分片集群策略。

可以使用对用户id进行取模,或者根据用户的城市、国家进行划分

 

http://www.lryc.cn/news/521276.html

相关文章:

  • 时序数据库TDengine 3.3.5.0 发布:高并发支持与增量备份功能引领新升级
  • 信息系统项目管理-采购管理-采购清单示例
  • python识别图片中指定颜色的图案并保存为图片
  • 【git命令行】git pull冲突如何使用stash暂存,不提交当前工作的情况下临时保存修改
  • 浏览器输入http形式网址后自动跳转https解决方法
  • BertTokenizerFast 和 BertTokenizer 的区别
  • 【update 更新数据语法合集】.NET开源ORM框架 SqlSugar 系列
  • 测试人员面试需要掌握的内容
  • git 新建分支并推到远程分支
  • 【Uniapp-Vue3】showLoading加载和showModal模态框示例
  • PythonOpenCV图片识别
  • 构建优雅、高效的 Nodejs 命令行工具 - Archons
  • 你喜欢用什么编辑器?
  • 鸿蒙报错Init keystore failed: keystore password was incorrect
  • 【Flink】Flink内存管理
  • JVM:ZGC详解(染色指针,内存管理,算法流程,分代ZGC)
  • Docker常用命令大全
  • (12)springMVC文件的上传
  • 在Linux系统中无网络安装Nginx并配置负载均衡
  • Android车机DIY开发之软件篇(三)编译Automotive OS错误(1)
  • 基于网络爬虫技术的网络新闻分析【源码+文档+部署讲解】
  • uniapp区域滚动——上划进行分页加载数据(详细教程)
  • 机器学习(1):线性回归概念
  • 关于编写测试用例的细枝末节
  • 《计算机网络》课后探研题书面报告_了解PPPoE协议
  • Linux Centos 安装Jenkins到服务
  • 解决“无法定位程序输入点 av_buffer_create 于动态链接库 XXX\Obsidian.exe 上”问题
  • 基于考研概率论知识解读 Transformer:为何自注意力机制要除以根号 dk
  • 网络安全学习81天(记录)
  • MATLAB学习笔记-table