主数据推动,有必要吗

公司的商品系统在研究如何进行“主数据推送”,就是把商品相关的数据信息推送给其它系统,

大概分析下,这有必要吗?

-----------------------------------------

推送方式:  消息,MQ

推送内容: 商品信息

接收方: 需要调用商品信息的它系统

好处:

1 商品系统的数据在其它系统有了一份冗余,其它系统在查询商品数据时,可以查自己,降低了商品系统的压力,冗余也许可以提升它系统对商品的查询性能。

   -- 这个地方,当查不到的时候,不应该再查商品(是否补救),否则主数据推送的意义不大,主数据的推送是全量的

不足之处

1 需要开发,商品系统需要开发“主数据推送”功能

2 它系统需要知道一些商品的业务,对商品系统推送过来的主数据需要设计存储和查询方案

3 数据不一致怎么办?

  -- 1 不要担心不一致,因为是用消息推送的,我们认为数据是全量的

      2 真的不一致了,有坑,再说!!

总结:

1 太麻烦,双发都得写代码,不可能每一个依赖商品的系统都去做商品信息的存储

2 它系统收到推送到主数据之后,是否就可以从自己的冗余数据中命中商品呢,商品的量是很大,商品系统自身都是分库分表的结构,如果无法从缓存中命中,或者概率很低,不如直接查商品系统

3 系统做了垂直切分后,垂直应用变的越来越多,应用之间交互不可避免,我们需要的是将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求,跟主数据推送比,做好服务化,将各个服务的性能优化到极致,看起来是更好的选择

带给我们的思考

1 商品不适合主数据推送,其它系统,比如省市区列表或许适合在依赖它的系统做主数据推送,查本地

   这些数据结构简单,数据量小。

2 主数据推送,关键是识别什么是”主数据“

3 数据量太大不好管理

猜你喜欢

转载自curious.iteye.com/blog/2292943