Skip to content
zhengyangyong edited this page Mar 29, 2018 · 17 revisions

欢迎关注ServiceComb Java Chassis脚手架项目,这个项目将展现如何使用ServiceComb Java Chassis一步一步构建一个完整的CRM系统。

背景

您经营着一家房地产开发商,销售房产,迫切需要一套销售系统,考虑到微服务的优势,您决定使用ServiceComb Java Chassis作为微服务开发框架。

业务流程

用户前来购买购买产品(房产),首先需要登记用户信息,并缴纳一定数量的定金,待交易当日,挑选心仪的产品(房产),支付尾款,完成交易。

服务拆分

  1. 前端UI服务:用户交互界面;

  2. Edge服务:很多时候也被称为API网关(API Gateway),负责集中认证、动态路由等等;

  3. 用户服务:提供用户信息管理服务,这里保存这用户的账号和密码,负责登录和认证;同时由于房产是非常昂贵的产品,交易前需要收取一定的定金,因此每一个用户都会保存已缴纳的定金金额

  4. 产品(资源)服务:提供产品管理服务,保存着房产的信息诸如价格、是否已售出等信息;

  5. 支付服务:提供交易时银行支付服务,一个用户下可以有多个银行账号,交易时可以使用这些账号下的存款支付购房尾款;

  6. 交易服务:提供产品交易服务,它通过编排调用将整个交易流程串起来,交易服务中有两个流程: A.定金支付

    • Step1 :通过用户服务验证用户身份;
    • Step2:通过支付服务从用户的银行账号下扣掉定金;
    • Step3:通过用户服务增加用户账号内的定金。 后面两个步骤需要保证事务一致性。

    B.购房交易

    • Step1 :通过用户服务验证用户身份;
    • Step2 :通过资源服务确定用户希望购买的资源(房产)尚未售出;
    • Step3 :通过用户服务从用户账号中扣除定金;
    • Step4 :通过支付服务从用户的银行账号下扣掉剩下的尾款;
    • Step5 :通过资源服务标记目标资源(房产)已售出;

最后三个步骤需要保证事务一致性,扣款不足或支付的过程中产品被其他人抢购,都需要回滚交易,购房失败。