以我们的之前公司项目枕聊直播间送礼为例子:用户A对用户B送礼物:

  • 两者判定是否关注关系,如果没关注,直接建立关注关系、添加游戏好友;
  • 用户A随机中奖金币、元宝(货币)、增加富豪值,如果中了大奖,还需要发送全服消息
  • 用户B增加魅力值
  • 用户A、用户B更新当日、周、月富豪榜、魅力榜的排名
  • 用户B礼物墙要展示收到的礼物

实际业务比我上面描述更加复杂。上述案例:我们直接简单拆分为:

  • 好友服务
  • 中奖翻倍服务
  • 排行榜服务
  • 魅力、富豪积分服务
  • 礼物墙服务
  • 全国消息服务

上述服务都暴露接口,供我们实际业务使用。比如

我现在送礼了,我可以直接调用送礼接口,(判定礼物数量够不够),扣除礼物,调用好友关系服务,调用中奖翻倍服务,在依次调用XXX服务。子服务之间也可以相互调用:中奖了需要发送全国消息服务,那就是中奖翻倍服务调用全国消息服务。

实际微服务拆分以及远程调用开发过程中:

没必要完全拆分。我们需要低耦合,不是0耦合,这样在一些复杂业务上,可以节省开发时间!