zoukankan      html  css  js  c++  java
  • 读《【解密】京东B2B业务架构演变》有感

    京东的B2B业务目前来说发展比较好,它的定位是让各类型的企业都可以在京东的 B 平台上进行采购、建立采购关系。

    京东 B2B 的用户群体主要分为 2 类,一类是大 B 用户、另一类是小 B 用户。比如联通、移动公司跟京东建立的采购关系,就是 B 平台的大 B 用户;如果有一家小超市需要在京东 B 平台上进行采购,那么它就是 B 平台的小 B 用户。

    京东 B 平台需要支持各类型的用户群,因此必须要有自己的业务系统做支撑,比如订单、商品、价格、用户、权限、审核等系统。

    京东 B 平台的发展分为3个阶段:

    1)第一阶段(2014年)

    B2B 浪潮开始兴起,京东在2014年与联通公司达成合作,意味着京东正式迈入B2B时代的大 B 行业。

    2)第二阶段(2015-2016年)

    农村电商开始兴起,线下门店积极顺应互联网的发展趋势,将传统的零售搬到了线上;在这个阶段,京东成立新通路事业部开展此业务,从此京东正式迈入了小 B 行业。

    3)第三阶段(2017年至今)

    在之前大、小 B 业务的基础上,京东的 B2B 业务在2017年得到快速发展,完美应对这个阶段产生的种种挑战,并发量、数据量均成几十倍的增长。

    在2014年初期,为了响应业务的发展,我们需要快速上线业务系统,采取的是纵向按业务线进行划分,每一条业务线都有自己的业务层、服务层、存储层,当有新的业务线接入的时候,还是以同样的模式进行开发。

    当来到第二阶段的时候,这种架构面对了极大的挑战,主要有以下几个表现:

    • 开发周期长,无法快速满足业务要求
    • 服务之间的相互影响,订单和商品在一个数据库,一个出问题,会影响别的服务
    • 系统之间耦合度大

    上述的表现反应出业务架构存在以下几点问题:

    • 服务问题

    服务之间零复用性,各个业务线的服务没有抽取共享的服务,其实有80%都是相同的模式,没有抽象。

    • 系统耦合

    系统之间的相互调用采用的 jsf 服务,全部是同步调用,调用链路很长,一个环节出问题会导致整个系统都出问题,没有核心服务和非核心服务、没有异步化服务。

    • 公用数据库问题

    由于前期是按业务线进行划分,在一个业务线上,核心服务的数据都存储在一个数据库上面。

    那应该如何解决呢?首先引入配置中心,对服务进行配置,对服务进行配置,可以自定义插件服务。

    通过以上的思考,有了组件的思想,以后对外的服务都是可配置的。就像一个加工厂,对服务加工,就可以对外部业务进行使用。

    本文参考文献:李sir,《京东B2B业务架构演变》

  • 相关阅读:
    30 algorithm questions study
    Binary Tree: Write a function to return count of nodes in binary tree which has only one child.
    分布式排序
    android开发中,工程前面有感叹号的解决办法
    android导入工程出现红色感叹号
    INSTALL_FAILED_MISSING_SHARED_LIBRARY错误解决方法
    安卓手机铃声怎么设置
    如何开启Mysql远程访问
    android 链接mysql数据库
    android 连接mysql数据库问题
  • 原文地址:https://www.cnblogs.com/sunshine-z/p/11054948.html
Copyright © 2011-2022 走看看