本文将探讨如何通过Spring Cloud微服务架构构建高效的金融科技系统,并展示一个典型的金融科技微服务架构设计。
业务架构图
开发架构图
业务架构讲解
业务中台服务
业务中台服务抽象了企业的核心业务能力,为上层业务系统提供通用服务,通过将核心业务功能模块化,使其可以被不同的系统复用。这些中台服务包括:
- 用户中心:处理用户注册、登录、角色管理、权限管理等功能。
- 客户中心:处理客户信息管理、实名认证等功能。
- 应用中心:管理系统设置、版本控制、token验证等功能。
- 消息中心:管理短消息发送、邮件发送、通知服务等功能。
- 套打中心:处理套打模板配置、合同生成下载、打印管理等功能。
- 产品中心:管理产品配置、上架、下架、统计分析等功能。
- 项目中心:处理项目配置、项目发布、项目管理等功能。
- 内容中心:管理内容发布、公告管理等功能。
- 支付中心:处理认证支付、三方支付、代扣付、渠道对账等功能。
- 鉴权中心:负责身份认证和权限控制。
- 报表中心:生成和管理各种报表、数据统计、文件上传下载等功能。
- 订单中心:管理订单创建、支付、状态跟踪、统计分析等功能。
新信贷系统子服务
新信贷系统子服务负责具体的信贷业务处理,包括:
- 产品服务:管理信贷产品配置。
- 绩效服务:管理绩效统计和分析。
- 进件服务:处理客户的信贷申请和资料管理。
- 适配服务:处理与其他系统的适配接口和数据转换。
- 订单服务:管理订单创建、支付和状态跟踪。
- 资产服务:管理资产评估和风险控制。
技术架构讲解
基础设施和数据层
基础设施和数据层提供支持业务运行的底层服务,包括:
- RDS 关系型数据库:用于存储结构化数据。
- RabbitMQ:作为消息队列系统,用于异步消息传递。
- 消息中心:管理系统内的消息传递。
- Redis:作为缓存系统,加速数据访问。
- OSS 文件系统:用于存储文件和文档。
- 任务调度:管理和调度系统内的任务。
- 链路跟踪:监控系统内的请求链路,进行性能分析和故障排查。
- 配置中心:集中管理系统配置,支持动态更新。
- OCR:进行光学字符识别,处理图像中的文字信息。
请求处理流程
-
入口:
- 请求可以来自不同的客户端,包括app、web前端和外部第三方系统。
- 请求首先进入SLB(负载均衡器)和NGINX,进行负载均衡和请求转发。
-
网关:
- 请求经过网关组件,包括SLB、NGINX和Spring Zuul网关。
- 在网关层进行初步的请求路由和鉴权,通过鉴权中心(auth)验证用户身份和权限。
-
业务服务层:
- 请求进入业务服务层,包括新信贷系统和业务中台服务。
- 新信贷系统子服务处理具体的信贷业务逻辑,并调用相应的中台服务。
- 中台服务提供核心业务功能,如用户管理、消息发送、支付处理等。
-
基础设施和数据层:
- 业务服务层的服务在需要时调用基础设施和数据层的服务,如数据库查询、消息队列、缓存存取等。
- 这些底层服务确保系统的高可用性、数据一致性和性能优化。
-
自动化和可视化:
- 系统通过自动化工具实现持续集成、自动部署和测试。
- 使用可视化工具,如数据看板和链路追踪,进行性能监控和日志分析。
通过这样的业务架构和技术架构设计,公司实现了业务功能的模块化、服务的独立性和系统的高可用性,能够快速响应业务需求变化,提高系统的可维护性和扩展性。