作者 | 于燕倞
大背景介绍
金融创新应用领域的民营企业中,安全可靠是十分首要任务的因素。通常各类金融创新民营企业单厢耗费大批成本去采购安全可靠有关的设备和硬体,公募基金管理工作有关民营企业亦然。
根据有关亚洲地区公募基金管理工作金融创新行业产业发展现况研究报告中可以看到:“我国公募基金管理工作金融创新行业在历经残暴生长、严市场监管制度化以及圣克洛县危机冲击等期后,现阶段已经形成了市场监管制度化化大力加强、子公司格局完善的局面。在德国大众投资经营理念转变的大背景下,公募基金管理工作金融创新行业体量大幅增长,金融创新行业产业发展空间有望持续扩大。”
从现实数据来看,大自然环境和人们理财意识的逐渐增强,使得公募基金金融创新行业在销售业务产业发展的过程中,对于技术销售业务上的呈现也已经开始有著更高的追求。
比如说灵活性,这儿说的灵活性并不是应付类似双十一那种科折粉网络流量时的销售业务表现,而是保证销售业务持久圣戈当斯区的灵活性和可持续性。
其次是科学性和准确度,它与灵活性是相得益彰的。即使金融创新应用领域有著十分严格的买卖天数,尤其是证券和公募基金金融创新行业。大批的买卖单厢发生在固定的季节内,因此有关天数内的科学性和准确度是必须要保证的。即销售业务情景下容许控制系统慢,但不容许崩。
最后是结尾内容中提到的严市场监管制度化,也是政策微观的市场监管气压。即使金融创新行业的局限性,在销售业务安全可靠和民营企业环境治理中,很多时候它是需要考虑金融创新行业美感和大自然环境的。
得力于这些销售业务美感,他们也会对公募基金金融创新行业的一些销售业务构架产生浓厚兴趣,比如说她们是运用什么样方式来保证高市场监管要求下的销售业务安全可靠。在这儿,他们挑选出了现阶段使用 APISIX 的一家公募基金金融创新行业使用者,带来她们的业务交换机构架重构与基于 APISIX 展开的销售业务安全可靠课堂教学技术细节。
金融创新行业现况与关键点
另一家子公司是从 2012 年已经开始构筑有关买卖控制系统,API 体量大概在 12000+ 数量,包含 PaaS、BaaS、三地三中心、安全可靠、网络管理、开发工具和 DevOps 平台等等。子公司销售业务的整个控制系统构架重构大体上历经了三个期。
在销售业务刚起跑期(1.0 时代),销售业务构架还十分单个,基本是能应付公募基金买卖的简单情景方可,属于乙烯构架模式。随着先期销售业务的扩展和亚洲地区市场自然环境的影响,构架也骤然展开了初步的更新插值。在这个期下,已经开始对销售业务展开了固定式拆分。
上图是当时最简单的构架模式,相信大家对这种构架类型都比较熟悉。即有一套简单的前端配置,包括应用、网站等等。从整体来看,销售业务模型比较简单,即使只需构筑好买卖体系方可,搭配上完整的支付销售业务和鉴权服务。后端主要是去维护有关的公募基金买卖数据,然后存储到数据库里。
当然这儿的鉴权服务并不是指交换机微观的呈现,而是公募基金销售业务与其他第三方公募基金子公司之间的连接鉴权。比如说跟外部的公募基金销售业务对接时,需要展开双方数据的对接,这种时候就需要有一些 Token 去展开鉴别和限制等等。
当时还没有交换机的概念。在这个构架下类似现在交换机概念的是图中的 HSB(服务总线),它其实是交换机的前身,主要用来控制南北向网络流量。
人们总说,在子公司销售业务或者金融创新行业产业发展过程中,总会出现一些节点来加速或者改变某个金融创新行业的进程。2015 年亚洲地区股市的销售业务爆发,也导致了公募基金销售业务子公司已经开始展开销售业务扩展。市场方向的快速推动下,销售业务也已经开始加速前进。
这种情况下,该公募基金子公司的后端销售业务就需要展开大批的变动,已经开始重构到如下图所示的构架类型(2.0 时代)。
如上图红线圈出来的地方,可以明显看到,之前的服务总线模块已经开始变得复杂,各种销售业务组件纷纷出现。之所以变得复杂,是即使在销售业务残暴生长期时,它会即使一些需求现况各自展开产出。
举个最简单的例子,就像各地的健康码系统一样,各省都不一样,甚至有的同一个省的不同地市还会有单独的控制系统。即使在产出过程中,他们会发现「自己造自己家的烟囱」是最快最快速的方式。
那么这种情况下就衍生出另外一个问题,也是在控制系统产业发展过程中,一定会伴随所谓的技术债务问题。是不同负责人在位时,所选择的技术栈或控制系统模型各不相同。
这个过程中就会出现一些销售业务库的拼装,即使当下的服务情景已经开始变得复杂。所有的这些新增动作等都需要通过后台控制系统的组合,来完成前端的某一个动作。因此这种组合的过程中将,势必要用到很多种类的组件以及历经几次产品更替,控制系统就已经开始变得复杂和繁重。
上述销售业务现况的演变下,不少问题就已经开始涌现。如下图所示,从三个微观展开了一些汇总。
当然除了上述提到的这些在外,在销售业务微观还会有其他一些问题。比如说:
技术成本已经开始变高,整体性能有所影响。交换机技术栈的不统一,导致需要同时维护多种协议与微服务框架,开发维护成本较高;随着销售业务的体量越来越大,像大部分金融创新民营企业都选择基于 Java 做开发工具,在处理大网络流量 QPS 时所需的服务器资源越来越多,整体性能冗杂。
微服务框架的侵入性强,存在安全可靠隐患。当下无论是 API 环境治理、审计还是鉴权,基本都依赖微服务框架和 SDK 来展开。因此每次版本的更新,不仅带来网络管理风险,还容易引发大批内部销售业务矛盾。
缺少更高阶功能的需求满足。如果一个构架中,销售业务控制系统交换机都是自研的,那么任何功能都要从 0 展开开发编写,这个过程中需要考虑一些天数成本问题,同时在销售业务微观可能只会实现相对简单的功能,比如说缺少服务发现和部分监控指标等功能。这对于先期的销售业务产业发展就会造成一些技术上的瓶颈。
技术选型与构架更新
在先期销售业务产业发展过程中,另一家公募基金子公司在 2020 年时已经开始对交换机产品展开单独选型。
在 2018 年左右时,Spring Cloud 其实十分盛行,金融创新金融创新行业内有很多民营企业都已经开始使用 Spring Cloud Gateway。同时金融创新金融创新行业的构架中,大多都是基于 Java 展开的,所以开发人员中大多都是熟悉 Java 的。
而当时另一家公募基金子公司并没有跟随金融创新行业的普遍方案,去选择 Spring Cloud Gateway,而是最终确定了 Apache APISIX 作为她们的交换机。之所以没有选择 Spring Cloud Gateway,主要原因如下图所示。
当然除了上述原因外,还有一些实际大自然环境的因素。2019 年左右,P2P 事件已经开始曝光,很多 P2P 子公司倒闭。当时整个金融创新应用领域尤其是公募基金买卖应用领域,发生了翻天覆地的变化。各家民营企业都已经开始展开成本压缩,所以在构架选型中,还需要面对成本压缩的考虑因素,去展开选型。
即使子公司要压成本,同时也已经开始要求把一些非买卖控制系统放置到云上。作为技术人员,这种情况下就会考虑如何让上云时更方便更高效,因此面临这种情景时,技术栈能被统一地越少越好。所以她们就已经开始往云原生方向的交换机产品去观望。最终,结合销售业务表现和技术栈统一有关的成本因素,最终选择了 APISIX。
基于 APISIX,该公募基金子公司的销售业务构架更新成了如下图所示的全新模块(3.0 时代),这其中将构架分成了前中后模式,并对代码展开了分层。
从外部进入的网络流量(南北向网络流量)经过 APISIX 后,可以展开一些安全可靠控制、网络流量管控和准入控制(比如说灰度)等。而在应用层与销售业务层以及销售业务层与基础层中间,会用 APISIX 来解决东西向的网络流量。由于该公募基金子公司当时大部分的控制系统是运行在 Vmware 虚拟机上,只有测试的买卖控制系统是跑到 K8s 上的,所以她们的 CI/CD 比较复杂,因此 APISIX 在这儿处理东西向网络流量时,主要是展开统一入口、监控报警、分流和鉴权有关操作。
基于 APISIX 的销售业务安全可靠课堂教学
微服务环境治理
微服务主要解决东西向网络流量。APISIX 在展开整个微服务环境治理的过程中,主要会帮助民营企业解决统一入口、API 配置管理工作、分流鉴权、服务监控、协议转换等问题,具有分布式和可拓展的特性。
前文他们提到过该子公司销售业务构架中也存在比如说鉴权模块,但当时她们用 Java 的一些扩展包展开了自研。但产业发展到后期,销售业务已经开始展开统一时,各个平台都需要对接进来,问题就已经开始出现了。
即使除了产品、开发工具等等销售业务平台,还包括账户中心等等,这些之间的相互联动,不止需要展开 HTTPS 的有关加密,还会存在一些单点必要需求等。
为了满足这些销售业务间联动和有关加密处理需求等,该基金子公司就利用 APISIX 在开发工具部分(APISIX 作为交换机是其中一部分)作为单点入口,去处理这些联动和安全可靠微观的需求对接,如下图所示。
其中在服务环境治理层,会涉及到一些协议转换,而 APISIX 具备成熟的服务环境治理框架去对接 Dubbo 以及展开 MQ 服务之间解耦。APISIX 的基础协议支持的类型十分多,包括 HTTPS、MQTT、Dubbo、gRPC 和 WebSocket 等多种类型。比如在实际使用时,可以通过 APISIX 内置的 dubbo-proxy 插件来实现代理 Dubbo 协议,无需再展开有关配置的从 0 到 1,而是直接开箱即用,轻松地将 Dubbo Service 发布为 HTTP 服务。
认证授权
身份认证在日常生活当中是十分常见的一项功能,大家平时基本单厢接触到。比如说用支付宝消费时的人脸识别确认、子公司上班下班时的指纹 / 面部打卡以及网站上展开账号密码登录操作等,其实都是身份认证的情景体现。可以说身份认证是保证公募基金买卖安全可靠稳定运行的重要因素之一。
之前该子公司是利用 Java 的一些自研组件或者程序逻辑等来作为「类似交换机作用」展开有关的认证授权。但整体会出现负载压力大,且不支持网络流量控制和灰度等能力,同时还缺少有关项目维护人员。在使用 APISIX 后,她们已经开始利用 APISIX 去提供认证和授权的有关能力,来帮助自家销售业务展开统一管理工作和高效网络管理。现阶段 APISIX 所支持的插件也已达到 80+,其中也内置不少认证鉴权有关的插件。
比如说借助 APISIX 内置的 jwt-auth 插件或 openid-connect 插件,在销售业务内部和外部之间展开一些认证交互,实现如下一些情景:
应用级:内部应用通过应用级 AT 到账号控制系统,然后根据使用者 ID 等数据直接查询使用者的信息,无需使用者授权;
使用者级:使用者授权应用,应用通过使用者授权生产的使用者级 AT,到账号查询使用者的 openid、unionid 和头像等使用者信息。
SSL 证书
在控制系统建设的初期,该子公司构架基本都是基于 HTTP 协议或一些自定义协议展开互相调用。但是通过 HTTP 协议传输的是明文数据,不会对数据进行加密。但在公募基金买卖控制系统中,无论是即使政策市场监管还是安全可靠需要,即使在内网也需要通过 HTTPS 访问数据。
在之前的安全可靠功能呈现上,该子公司都是直接采购安全可靠类产品展开防护,但是使用过程中必然少不了三方的维护等环节。在构架重构过程中引入 APISIX 后,刚好解决了该情景下的一些需求。从而方便根据销售业务需要展开灵活调整,同时在成本微观抛弃防火墙等产品,优化了网络管理流程,最重要的是也满足了有关市场监管需求。
比如说 APISIX 在 SSL 证书功能上就支持单个域名、泛域名、多域名和单域名多证书的多种情景。
APISIX 支持通过 TLS 扩展 SNI 实现加载特定的 SSL 证书,以实现对 HTTPS 的有关支持。启用该特性后,将容许客户端在服务器端向其发送证书之前向服务器端发送请求的域名,服务器端将会根据客户端请求的域名选择合适的 SSL 证书发送给客户端。
所以在安全可靠有关的功能准备中,很多东西都是顺应着大自然环境的要求和一些构架更新过程中的销售业务统一而展开的。并不是说即使有了 APISIX 这种类型的云原生交换机,才已经开始去重视销售业务上的安全可靠问题,而是说有了 APISIX 交换机,可以让民营企业销售业务安全可靠更高效更固定式地展开管理和操作。
总 结
以上是从公募基金买卖销售业务的情景下,带来了泛金融创新金融创新行业在展开销售业务构架插值过程中的变更与有关安全可靠课堂教学。在销售业务机构更新的过程中,如果没有类似 APISIX 这种交换机开发工具的能力加持,或许就没法轻易地满足销售业务上的高速产业发展,也没有办法轻易解决金融创新行业残暴增长过程之后的复杂技术债问题。
所以不管是民营企业环境治理还是牢固销售业务安全可靠,选择一个健康持续产业发展的开发工具产品,是十分有利于销售业务构架的升级与先期拓展的,同时可以最大限度地帮助民营企业去解决技术债务。为什么选择技术债务这个点,即使它是他们在社区通过一些民营企业用例反馈之后,发现的一些民营企业选择 APISIX 的关键点之一。
所以纵观该公募基金民营企业的整个控制系统演化过程,都是用销售业务去推动选型。通过对性能、可拓展性以及安全可靠等微观,Apache APISIX 都用更实际的数据和效果证明了它作为交换机和开发工具属性的作用,在保证性能的同时,也为金融创新金融创新行业的销售业务安全可靠带来了最稳定的保证。
讲师介绍
于燕倞,现任 API7 VP,Apache APISIX Committer。公众号「头哥侃码」作者,曾在好买财富、大智慧、中通服软件、东方购物任职,21 年 IT 从业经验,对技术管理工作和构架设计有一定的经验。TGO 鲲鹏会上海理事会成员,腾讯云 TVP,QCon 北京 2017 明星讲师,QCon 北京 2018 优秀出品人。