山东轻工财经网

当前位置:首页 >> 股市

股市

基金002292Boss基金基于火箭MQ的互联网开放平台矩阵架构实践

2021-06-23 22:24:30股市
基金002292随着近两年业绩的抢眼,公募基金迎来了乘风破浪式的发展,截至 2021 年 1 月底,资产管理规模已破 20 万亿,创下了历史新高。在中国新经济

基金002292博时基金基于 RocketMQ 的互联网开放平台 Matrix 架构实践图

凭借这两年的抢眼表现,公募基金迎来了乘风破浪的发展。截至2021年1月底,资产管理规模已超过20万亿元,创历史新高。

在中国新经济高质量和科技创新的背景下,许多金融互联网平台与基金公司进行了合作。

互联网金融技术与传统金融业务的融合,使得传统金融公司的信息技术系统更加开放。

相应地,2020年,博世拉基金互联网财务部开始建设互联网开放平台Matrix。

Bosera基金互联网开放平台矩阵建设背景和目标1。传统金融架构遇到的问题和挑战

传统的金融体系架构受到了互联网的挑战,主要表现在以下几个方面:

1)对互联网门户缺乏控制

有很多团队提供不同形式的互联网服务,接口协议和权限控制方法不一致。

当服务和接口越来越多的时候,API控制能力不足的问题就会凸显出来。

2)系统相对封闭,开放能力不足

传统基金行业系统生态相对封闭,与合作伙伴开放生态的能力有待提高。

3)财务场景打包能力不足

传统的基金行业系统通常依赖底层数据库提供的ACID特性来实现交易一致性。

微服之后,这个机制似乎是为了金融场景产品的包装能力而延伸出来的。

2.系统建设目标

1)多渠道统一安全接入

为自己的系统和运营商提供标准化统一的访问,实现内外API的统一管理和控制。

Matrix对通过Bosera互联网平台资质认证的第三方平台开放,根据第三方平台识别的不同身份需要接口级权限控制。

2)提供开放能力

搭建一个开放的平台,和合作伙伴一起构建一个开放的生态。

经Matrix平台授权后,第三方平台开发者可通过调用Bosera基金互联网开放平台的接口能力,为第三方平台提供基金产品信息查询、注册开户、积分赎回、基金赎回、资产查询、联合登录等全方位服务;第三方平台可以根据自身实际情况自由选择或组合APP、微信微信官方账号、微信小程序、H5等前端方式。

3)封装基金行业的特色功能

应用层实现分布式事务框架,保证整个事务的一致性。

基于此,将优惠购买、投资陪伴等复杂的金融场景功能打包,让开发商专注于业务发展,提升客户投资体验。

矩阵构造思路1。总体框架

1)互联网架构图基于Spring Cloud微服务套件和RocketMQ消息中间件,是企业级云原生架构。

2.关键组件

1)API网关

API网关是微服务架构的重要组成部分之一,是服务的唯一入口。

API网关封装了内部系统架构,横向去除了常用功能,如权限验证、熔丝限流、负载均衡等。

通过API网关,可以统一控制内部API。

目前博世拉基金的互联网服务接入门户主要分为三类:

博塞拉基金移动应用和H5自营业务。

面向直销前端合作伙伴的OpenAPI。

也就是说,作为开放平台的入口,服务的OpenAPI会提供有条件的访问限制,需要考虑流量控制、安全认证和接口授权的管理。

企业内部管理系统的应用编程接口,提供对企业内部系统的访问。

Matrix的API网关建立在Spring Cloud Gateway的基础上,SCG内置的Route、Predicate、Filter模块可以方便的扩展路由转发、统一认证等跨部门功能。

基于内外网隔离的要求,我们独立部署了两套网关,其中麒麟网关提供互联网

统一认证中心是微服务架构的重要组成部分。

Matrix搭建了基于OAuth2协议的统一认证中心,实现用户、应用、界面的统一认证和认证。

OAuth2的核心思想是通过各种认证手段对用户的身份进行认证,并颁发一个token,使第三方应用程序可以在有限的时间和范围内使用该Token访问指定的资源。

Matrix支持三种授权类型的OAuth2:授权代码、资源所有者凭据和客户端凭据。根据不同的应用场景,使用不同的授权类型来发布令牌,以保护开放平台的安全性。

3)火箭消息中间件

技术选择

在技术选择过程中,我们主要考虑以下几点:

首先必须是国内产品,其次是在社区中流行且高度活跃的开源产品。

此外,关注MQ特性:

消息传递是可靠的,也就是说,消息保证不会丢失。

分布式事务,需要支持分布式事务,减少

业务的复杂性。

性能,我们的场景主要是在线的金融类业务,需要 MQ 具备支持金融级的低延迟特性。

最后,从架构演进的角度来考虑,需要无缝对接我们的混合云架构,最终我们选择了 RocketMQ。

RocketMQ 是阿里巴巴自主研发及双 11 交易核心链路消息产品,提供金融级高可靠消息服务。

在开源方面,开源 RocketMQ 已经完成了云原生技术栈的集成,包括Knative 中的事件源,Prometheus 的 Exporter,K8s 的 Operator 等;也支持了微服务框架 SpringCloud 以及函数计算框架 OpenWhisk ;同时开发了很多 Connector 作为 Sink 或者 Source 去连接了 ELK、Flume、Flink、Hadoop 等大数据和数据分析领域的优秀开源产品。

在 Matrix 开放平台,RocketMQ 主要有三类应用场景。

1) 用于金融产品的场景化包装

业务场景:

典型的业务场景如优惠购,基民通过优惠购功能申购基金,可将交易费率降为0。

简单来说就是先购买博时货币基金,再通过快速转购的方式买入目标基金,豁免相关转换费率。

实现原理:

Matrix 基于 RocketMQ 的事务消息搭建了一个高可靠、高可用的事务消息平台---事务中心,涉及业务流程如下:

第一阶段是 Prepare ,即业务系统将 RocketMQ 的半事务消息发送到事务中心,事务中心不做发布,等待二次确认。

Prepare 完成之后,业务系统执行主事务,即购买货币基金,成功后 commit 到事务中心,由事务中心投递消息到从事务。

如果主事务失败,就投递 rollback 给事务中心。

反查机制:

由于网络抖动、业务系统重启等原因,可能导致事务消息的二次确认丢失。

此时需要依赖反查机制恢复整个分布式事务的上下文。

RocketMQ 提供的 Message Status Check 机制正是为解决分布式事务中的超时问题而设计的。

事务中心的反查机制流程主要是,先检查事务中心的内部状态,再通过反查接口检查本地事务的执行结果,恢复事务上下文后,正常推进后续的流程。

依赖于 RocketMQ 提供的事务消息,事务中心在应用层实现了分布式事务,大大提升了对金融产品的场景化包装能力。

2) 用于系统间解耦

业务场景:

部门 A 负责根据市场、产品和客户的陪伴场景输出优质的陪伴内容,部门 B 负责把这些陪伴内容触达到不同的渠道和用户。

实现原理:

部门 A 的陪伴事件触发服务和部门 B 的陪伴触达服务之间通过 RocketMQ 消息进行业务解耦,即双方没有依赖关系,也不必同时在线。

3) 异步调用

业务场景:

异步调用的使用场景比较多,如用户注册、用户关键行为跟踪等。

其中用户行为跟踪场景,在服务端异步记录用户的关键行为及相关属性,可为用户分等级运营和精准营销打下基础。

实现原理:

将非核心的业务流程异步化可以减少系统的响应时间,提高吞吐量,是系统优化的常用手段。

RocketMQ 提供了高效的通信机制,业务系统使用起来非常方便。

总结与未来展望

随着互联网技术在金融领域的不断渗透和金融创新业态的发展,公募基金互联网业务需要不断进行流程改造、模式创新及服务能力升级,在优化场景体验的基础上,持续打造基于平台、场景和产品三位一体的互联网服务平台。

Matrix 经过一年多的建设,目前已具备多渠道统一接入、第三方生态互联互通、基金特色交易场景化封装等功能特性。

Matrix 通过建设有品质、有温度的陪伴,从技术上和体验上,让用户理解风险,理解投资,进而为客户持续创造价值。

在未来,将会有更多的合作伙伴接入 Matrix ,希望我们能一起畅游在创新科技的星辰大海中,合作共赢。

作者|伍振河 博时基金互联网金融部架构师 、曾志 博时基金互联网金融部开发主管

本文为阿里云原创内容,未经允许不得转载。

今日基金资讯基金002292博时基金基于 RocketMQ 的互联网开放平台 Matrix 架构实践:基金网提供专业、及时、全面的基金行业动态、基金数据、基金净值、基金002292、基金评级和交易。