Skip to content

小红书本地生活入驻项目总结

架构设计

  1. 架构设计上,遵循高内聚低耦合的设计思路。基于 DDD 设计了比较优秀的系统方案,将非入驻域关注的事情,最大程度地解耦出去,比如专业号开通,门店认领等,
  2. 通过优化流程,将项目交付时间缩短了 20%。
  3. 提出了数据快照的概念,用户的每一次提交都作为一个数据快照,
    1. 保留了用户提交记录的可追溯性,
    2. 也简化了和审核的交互
  4. 设计了业务流转的状态机。技术选型选了cola的状态机组件,既保留了状态机实现的简单性,又降低了维护的复杂性 参考
  5. 建立了校验规则库,并且设计流式的规则校验器。做到了规则的复用

系统稳定性设计

  1. 通过区分系统异常和业务异常,做了比较直观的报表,区分了可靠性和可用性,做到了针对大部分问题可以一眼定位。并切把这部分沉淀了下来,做成了二方包,提供给了其他业务
  2. 对所有的RPC调用,添加了防腐层,提高了系统的可靠性
  3. 做了分表,入驻前使用申请ID,入驻后使用sellerId分表
  4. 做了搜索和数据的分离,听过binlog把数据同步至ES,支持搜索请求

项目业绩

  1. 带领团队,历时三个月,完成了从方案设计到交付的全流程
  2. 并且得到了同事们的高度认可
  3. 通过优化流程,将项目交付时间缩短了 20%。
  4. 制定了比较合理的项目计划,项目里程碑都在预期内达到了
  5. 做到了比较好的风险管理,通过合理安排周会、日会,保证了项目推进的稳定

账号项目

  • 完成了账号、账户不分,升级为账户、账号拆分的方案
  • 制定了标准的登录态接入方案,并推广
  • 治理了冗杂的B端登录,做了统一,并降低了系统异常登出率

设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 合成复用原则 迪米特法则

技术栈:

  • java rpc用的 thrift
  • redis
  • mysql
  • es
  • rocketmq vs kafka

mvcc 怎么实现可重复度

DDD 怎么做的

项目分层

  • start
  • application
  • domain
  • infrastructure等

应用层对外,对内和领域层交互
领域层内,实现各个域的业务逻辑

商家入驻上下文

  • 审核
  • 财务账户
  • 合同
  • 商品
  • 类目
  • 门店
  • 资质
  • 店铺

领域划分

  • 申请作为聚合根的基类,聚合各个核心子域
  • 核心子域内如果需要访问外部域上下文的信息,应当通过领域层内定义的facade接口获取,从而实现对外部上下文的防腐。

怎么优化提高的项目交付进度的

  1. 做有向无环图,把项目拆解成一个个小的任务,然后制定计划,按计划执行
  2. 日会紧盯进度
  3. 突发事件,及时响应
  4. 先紧后松

描述下个人的优点和缺点

  1. 优点:
    • 有足够的经验,有项目经历
    • 技术水平还行,WEB的基本知识点都懂
  2. 缺点
    1. 不够细心,我经常忽略一些小事,这是不细心的表现
    2. 比较想成事情,有时候会操之过急