前言
网上能检索到各种各样的微服务实战,但都是阐述某一个方面,我将一个真实的跨境支付系统中的C2C国际汇款后台代码部分精炼出来,供大家学习使用,也用来感恩互联网多年来对我开发之路的帮助。
本系列主要是讲代码部分,所以只在本节对系统架构进行一些简单说明,将来有机会再写系统架构的专题。
系统架构
这张图对写代码来说,并没有实际指导作用,但我们开发一个系统,开始都要画出一个类似的图,主要是为了向所有关系人讲解系统构成,方便他们理解。
本系列主要是讲代码层面,我只会在本节对系统架构进行简单说明。从上图可以看出:
1. 用户用app通过网关接入本系统,而系统通过渠道路由请求不同的上游,运营通过辅助网站运营系统。
2. 整个系统使用spring cloud来搭建,消息中间件采用Rocket MQ,缓存采用Redis。
3. 系统模块主要分成两部分:公共服务基本来自业务中台,汇款业务来自业务系统。
4. 版本管理采用git,部署采用jenkins,日志收集采用ELK。
微服务划分
怎么划分微服务,有太多的理论。就我个人观点来说,可以从下面三个方面进行考虑: