网站开发外包维护合同范本,windows server 2008 网站配置,建设厅网站合同备案在哪里,wordpress 用户提交简介#xff1a; 随着近两年业绩的抢眼#xff0c;公募基金迎来了乘风破浪式的发展#xff0c;截至 2021 年 1 月底#xff0c;资产管理规模已破 20 万亿#xff0c;创下了历史新高。 本文已参与 RocketMQ Summit 优秀案例征文活动#xff0c;点此了解详情 作…简介 随着近两年业绩的抢眼公募基金迎来了乘风破浪式的发展截至 2021 年 1 月底资产管理规模已破 20 万亿创下了历史新高。 本文已参与 RocketMQ Summit 优秀案例征文活动点此了解详情 作者伍振河 博时基金互联网金融部架构师 、曾志 博时基金互联网金融部开发主管
随着近两年业绩的抢眼公募基金迎来了乘风破浪式的发展截至 2021 年 1 月底资产管理规模已破 20 万亿创下了历史新高。 在中国新经济高质量及科技创新发展的背景下众多金融类的互联网平台与基金公司展开合作互联网金融科技与传统金融业务的融合促使传统金融公司的信息技术系统更加开放。
据此2020 年博时基金互联网金融部启动了互联网开放平台 Matrix 的建设工作。
博时基金互联网开放平台 Matrix 建设背景与目标
1、传统金融架构遇到的问题与挑战
传统的金融系统架构受到了互联网化的挑战主要表现在以下几个方面
1) 互联网入口缺乏管控
有多个团队提供不同形式的互联网服务接口协议和权限管控方式不一致。当服务和接口越来越多时API 管控能力不足的问题将会突显。
2) 系统较为封闭开放能力不足
传统基金行业系统生态较为封闭与合作伙伴开放生态的能力有待提升。
3) 金融场景化封装能力不足
传统基金行业系统普遍依赖于底层数据库提供的 ACID 特性实现事务一致性。微服务化之后这套机制对金融场景化的产品包装能力显得捉襟见肘。
2、系统建设目标
1多渠道统一安全接入
为自有系统与运营厂商提供标准化统一接入实现内外部 API 统一的管控。Matrix 开放给经过博时互联网平台资质认证后的第三方平台使用需要根据第三方平台识别的不同身份进行接口级别权限管控。
2提供开放能力
搭建开放平台与合作伙伴共建开放生态。在得到 Matrix 平台的授权后第三方平台开发者可以通过调用博时基金互联网开放平台的接口能力为第三方平台提供基金产品信息查询、注册开户、积分兑换、基金申赎、资产查询、联合登录等全方位服务第三方平台可以根据自身实际情况自由选择或组合 APP 、微信公众号、微信小程序、H5 等前端方式对接。
3封装基金行业特色功能
应用层实现分布式事务框架以保证整体事务的一致性。基于此封装优惠购、投资陪伴等复杂的金融场景化功能让开发者专注于业务开发提升客户的投资体验。
Matrix 建设思路
1、总体架构
1互联网架构图
基于 Spring Cloud 微服务套件和 RocketMQ 消息中间件搭建的企业级云原生架构。 2、关键组件
1API 网关
API 网关是微服务架构重要组件之一是服务唯一入口。API 网关封装内部系统架构横向抽离通用功能如权限校验、熔断限流、负载均衡等。通过 API 网关可以把内部 API 统一管控起来。 目前博时基金的互联网业务接入入口主要分为 3 类
面向自营业务的博时基金移动端 APP 和 H5 。面向合作伙伴的 OpenAPI 。即作为开放平台的入口服务的 OpenAPI 会提供有条件的访问限制时间、流量、频率需要考虑流量控制、安全认证、接口授权方面的管理。面向企业内部管理系统的 API 提供企业内部系统访问。
Matrix 的 API 网关基于 Spring Cloud Gateway 构建SCG 内置的 Route、Predicate 和 Filter 模块可以方便扩展出路由转发、统一鉴权等跨横切面的功能。基于内外部网络隔离的需求我们独立部署了两套网关其中 Kylin 网关提供互联网接入。Phoenix 网关用于域内系统接入提供域账户的访问权限控制。
2认证中心 为了保护 OpenAPI 的安全避免恶意访问、未授权访问、黑客攻击等导致的安全隐患开放平台需要增加授权认证模块。同时在博时的内部的应用系统之间也有单点登录的需求。统一的认证中心是微服务架构的必备组件。 Matrix 基于 OAuth2 协议构建了统一认证中心实现用户、应用、接口的统一认证和鉴权。OAuth2 核心思路是通过各类认证手段认证用户身份并颁发 Token 使得第三方应用可以使用该令牌在限定时间、限定范围访问指定资源。Matrix 支持 OAuth2 的 Authorization Code 、Resource Owner Credentials 和 Client Credentials 三种授权类型根据不同的应用场景采用不同的授权类型颁发 Token 为开放平台的安全保驾护航。 3RocketMQ 消息中间件
3、技术选型
在技术选型过程中我们主要考虑以下几点 首先必须是国产化的产品其次是比较流行并且社区活跃度高的开源产品。 另外重点关注的 MQ 特性
消息可靠传递即确保不丢消息。分布式事务需要支持分布式事务降低业务的复杂性。性能我们的场景主要是在线的金融类业务需要 MQ 具备支持金融级的低延迟特性。
最后从架构演进的角度来考虑需要无缝对接我们的混合云架构最终我们选择了 RocketMQ。
RocketMQ 是阿里巴巴自主研发及双 11 交易核心链路消息产品提供金融级高可靠消息服务。在开源方面开源 RocketMQ 已经完成了云原生技术栈的集成包括Knative 中的事件源Prometheus 的 ExporterK8s 的 Operator 等也支持了微服务框架 SpringCloud 以及函数计算框架 OpenWhisk 同时开发了很多 Connector 作为 Sink 或者 Source 去连接了 ELK、Flume、Flink、Hadoop 等大数据和数据分析领域的优秀开源产品。
RocketMQ 在Matrix开放平台的应用场景
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 希望我们能一起畅游在创新科技的星辰大海中合作共赢。