首页 > 其他分享 >物流系统原有40T数据加上每天至少要比之前多3G数据产品,这种该怎么解决

物流系统原有40T数据加上每天至少要比之前多3G数据产品,这种该怎么解决

时间:2024-10-10 15:22:08浏览次数:9  
标签:3G kafka 40T 开发 物流 服务器 数据 硬盘

        今天早上接到一个学生的电话,说他现在有40T物流数据,且今年比去年每天至少要多3G数据,访问量也要比去年每天多1千万次。在少量增加成本或是在原有的服务器的前提下,将系统进行升级及拓展。希望我给他提供方案。

        听完之后,首先我问题物流业务的安排(主要是查询服务、数据更新、接口对接)。其次再问到40T数据全是物流数据呢还是物流数据+日志数据。最后问到岗位安排及服务器数量。

        学生回复我说,目前物流系统最大的困难就是数据更新及自家运营统计分析。因为数据过于庞大,加上现在每日新增数,数据库的写入能力大大降低,已经排队到3分钟左右才能更新一条(物流数据),而日志数据基本要10分钟左右才能写入一条。40T数据中有12T多是物流数据,有28T多是日志数据。整个开发有40多人。有运维工程师15个,6个高级工程开发C及C++的,有8个go普通开发,还有一个DBA日常维护。业务开发6个前端(4个高级前端,2个普通前端),10个PHP开发(6个高级PHP开发,4个普通开发)。还有5个PHP与go混合开发的,能力也在高级工程师中。2个kafka开发工程师,2个rabbitmq开发工程师,3个swoole专业开发工程师。剩下就是一个部门经理与技术总监(自己)。因机房是托管的,他们已经有了40台物理服务器。留了20台服务器在做备份,其中有10台也在做测试服务器,10台是长期做备份服务的。

        听完之后,首先我问到物流业务这块,更新数据,每个订单号最长流水线是多少,而每日查看统计及分析的数据流水线是多少。每块硬盘最小多大,服务器的最小核数及CPU是多少。

        学生回复我说,每个订单号最长的流水线不超过30天,基本上都是7天内。而每日统计及分析的数据流水线是2内年。被正常调用查询的订单大多数都是3个月内的,只有少数是6个月以内的。与第三方核对订单基本上是半年一次。除了数据库服务器外,有2台服务器是8核32G的,专门做对外服务器,8台16核32G专门做内部处理服务器,还有一台6核32G专门做长链接的,swoole服务。而kafka、rabbitmq、Redis及MySQL9台服务器,都采用的是24核96G的,硬盘统一用的是10T一块。除了kafka、rabbitmq、Redis及MySQL这9台服务器采用了6块盘,而其他的都采用了2块盘。目前最大的问题是CPU及内存基本都是使用率40%左右,除了swoole、rabbitmq、kafka这几台达到80%左右,而硬盘的读写速度只有40%。

        听完之后,我沉默了5分钟。最后给了他一个解决思路:数据分仓已经是必然的,其次就是分业务库。首先说业务分库,比如说运营需要的统计、分析库,他的规律是2年以内的数据,那么他对应的数据只要存2.5年,超过2.5年的数据就自动删除掉(最好是存3年的),特殊情况,到总库查询。而第三方需要用到的数据也单独存储一套库,只要存储一年就行,超过的也是自动删除掉。而用户查询的话,到总库里面去查找。而运维库不要与业务库放到同一台服务器里面。运维日志最多存3年,超过的自动删除掉,但是异常IP要单独保留。再说数据分仓问题,不管是哪种业务库,都必须分层。访问率较低或者是业务重要性低的数据,可以使用机械硬盘,可以单独使用一套库,命名为冷数据层;访问率一般或是业务重要性一般的,可以使用固态硬盘或是机械硬盘,也是单独一套库,命名为温数据层;访问率高或是业务重要性高的数据,一定要使用固态硬盘或是内存库来解决,命名为热数据层。最后说一下备份服务器,留太多了。拿出4台加入rabbitmq队列,拿出2台加入到kafka队列,拿出4台做日志数据库。因IDC机房有自动发电机能力,就只要做好硬盘检测及硬盘备份就行。

标签:3G,kafka,40T,开发,物流,服务器,数据,硬盘
From: https://blog.csdn.net/m0_63603104/article/details/142782389

相关文章

  • 前端数据结构之数组
    对象允许存储键值集合,这很好。但很多时候我们发现还需要有序集合,里面的元素都是按顺序排列的。例如,我们可能需要存储一些列表,比如用户、商品以及HTML元素等。这里使用对象就不是很方便了,因为对象不能提供能够管理元素顺序的方法。我们不能在已有的元素“之间”插入一个......
  • 数据库认证有用吗?证书:职场晋升的有力助推器
    在当今竞争激烈的就业市场中,拥有专业技能和相关证书成为了脱颖而出的关键。数据库证书便是这样一把开启职业成功之门的金钥匙,它对于找工作和升职加薪有着不可忽视的重要作用。一、助力求职,脱颖而出1.增强竞争力随着信息技术的飞速发展,各行各业对数据库管理和分析的需求日益增......
  • DevExpress WPF中文教程:如何解决数据更新的常见问题?
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为......
  • [问题记录]SQLserver数据库是否可以新建多个.mdf文件?
    结论:1.可以,但只有第一个(.mdf)为当前数据库主文件。2.当有多个(.mdf)文件时,语句不会出现错误,但不符合命名约定,即命名约定不正确。3.数据库扩展名可以任意,官方文档中推荐主数据文件使用(.mdf),辅数据文件使用(.ndf),但如果使用例如:(.abc)作为文件后缀名,也是正确的。(具体官方文件截......
  • Camstar 电子套件基础数据导入导出Export/Import
    前提准备:你的共享目录CamstarUploads弄好了,参考https://www.cnblogs.com/CarryYou-lky/p/16133849.html     ......
  • Python 处理 JSON 格式数据
    Author:ACatSmilingSince:2024-10-09需求:将文件中的JSON格式数据,指定Key的值替换。对于文件的整个文本为JSON格式的数据。示例:{'A':{'a':23.45,'b':56.78,'c':89.01}}Python代码:importjson#读取原始JSON数......
  • 第31篇 实现数据同步的webapi接口
    调用接口实现数据同步demo讲解1.demo整体架构如下2.SynchronizeModel类库这个类库是主要用于实体对象模型的转换,包括请求参数实体RequestModel,数据库实体DBEntity,响应数据实体ResponseModel等,2.1新建一个数据库实体:///<summary>///被测件(雷达)模块信息表///</sum......
  • 记录一次本地安装AI ollama大模型数据对话 的经历
    浏览器打开 Ollama官网  下载对应的版本,我这里下载的 是对应 windows的版本,下载后直接运行安装安装完成后 打开 dos控制台,win+r,cmd那个,输入ollama 如果显示如下截图内容,就说明安装成功了,接下来就是下载 具体的 大数据库了  安装大模型前,建议先修......
  • Redis 数据类型hash(哈希)
    目录1基本特性2主要操作命令 2.1设置和获取字段2.1.1 HSETkeyfieldvalue2.1.2 HGETkeyfield2.1.3 HMSETkeyfield1value1[field2value2...] 2.1.4 HMGETkeyfield1[field2...]2.2检查字段是否存在2.2.1 HEXISTSkeyfield2.3获取所有字段和......
  • 财务规划的成功战略之一:建立数据驱动型决策
    在财务规划和分析领域,数据的价值不可估量,企业未来需要学习的就是如何有效利用数据。虽然财务团队通常已经知道如何处理大型数据集,但仅仅使用数据构建一些图表和演示文稿,与真正利用数据来推动战略决策并实现期望成绩之间,仍存在着显著差距。在财务规划中建立数据驱动型决策需要的是全......