zoukankan      html  css  js  c++  java
  • 关于分销的库存同步问题做电子商务的必进!

    关于分销商的库存同步问题:

    在此写这篇文章,是想和大家探讨一下解决方案。小弟不才,只想出三种解决方法,但是每种方法都不尽人意,希望做过类似东西的进来探讨一下。

    现把三种方法分别列举如下:

    第一种:写一个服务程序,让此程序在每隔一定时间(比如说10分钟)查询一次库存表,然后去更新分销商的库存。

      优点:如果做了数据库的读写分离,数据库服务器的压力应该是比较小的,如果没做分离,说明业务量不大,直接在数据库上查询,也不会耗费多长时间,对服务器的压力也影响不大。

      缺点: 1、库存变化后,不能及时更新到分销商,因为服务更新库存需要一定的时间间隔。

          2、按库房有4000件商品来计算的话,每一家分销商都需要更新4000次(如果分销了4000种商品的话),如果有N家分销商,则需要更新N*4000。则每次循环的时候,有很大一部分库存根本是没有变化的,等于是做了无用的操作,浪费了服务器资源。

    第二种:在进销存系统中,当商品出库时,将有库存变化的商品信息及数量写入消息队列,然后用一个服务程序去更新分销商的库存。

        优点:各个分销商的库存都是及时更新,和本地库存完全同步,并且和第一种方法比的话,减少了库存没有变化的商品的更新。

        缺点:在进销存程序里边需要加入写消息队列的操作,是不是不属于进销存范围?会不会把进销存系统弄得臃肿了?关于分销商的商品库存不应该在本地的进销存处理吧。

      在这里我也有上一行的两个疑问,有人能帮我解答

    第三种:写一个异步将商品信息,及库存写入消息队列的win32程序,用数据库的触发器来触发此win32程序,用服务来处理消息队列,更新分销商的库存。

        优点:和第二种方法相比,此方法和进销存无任务关系,算做是和进销存程序解偶吧。

        缺点:数据库的触发器比较消耗性能,出库比较频繁的话,数据库应该是吃不消的,虽然我没有统计过具体数字。触发器是个好东西,但在系统中还是少用或者不用为妙(我一直这么坚持的)。

    我的三种方法已经写完了,我们现在采用的是第一种方法。

    我个人对以上三种方法按优劣排序的话是:第二种,第一种,第三种

    现在问题出来了。我的上级领导让使用第一种方法,他的理由就是第二种方法的缺点。

    我虽然给这三种方法优劣排序,但我认为这三种方法都不太好,有没有一种方法,能把第一种和第二种方法的优点结合起来呢?

    希望知道其它公司是怎么处理这样的问题的。

    文章写得简单一点,能明白大概意思即可,节约大家宝贵时间。其中关于服务器架构,网络等因素都忽略。

  • 相关阅读:
    论信息系统项目的范围管理
    Windows服务/Linux守护创建及安装
    C#开源网络通信库PESocketde的使用
    Unity本地持久化类PlayerPrefs使用详解
    记录一个闪烁,跳动,光圈的动画
    一、Linux驱动学习-了解系统
    用c#自己实现一个简单的JSON解析器
    highcharts的yAxis标题过长 分行显示
    Mysql binlog恢复数据
    Xamarin.Forms实例旅行日志
  • 原文地址:https://www.cnblogs.com/yuqilin/p/2253415.html
Copyright © 2011-2022 走看看