欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

至暗时刻的一丝曙光:关于对接银行项目的一些感悟

程序员文章站 2022-03-20 23:25:33
文章目录前言前期准备文档方面前言前段时间,公司接到了一个银行的对接项目,前期一番沟通过后,由我来负责跟进这个项目。嘛~在做之前首先需要了解一些银行的开发背景和需求,大致如下:银行内部使用封闭式的开发模式(开发机、服务器均无法直连外网)需要私有化部署需要驻场行内6点左右就下班了(需要协调行内系统对接的沟通时间)以上是大的背景~前期准备文档方面跟行内的架构师讨论项目的部署方案,直观的感受就是,银行可真有钱…一套B类系统(就是非主要系统)。对方要求在两个城市分别要构建数据中心,每个数据中...

前言

首先,这不算是一个技术类的分享,它是我职业生涯以来面临的少数除技术外较为棘手的业务场景,事实上整个项目的实施过程确实充满了曲折,一度让我有些抓狂甚至偶尔产生想要放弃的想法(值得庆幸的是也学到不少东西),故而记录一些开发过程的感悟。

前段时间,公司接到了一个银行的对接项目,一番沟通过后,由我来负责跟进这个项目。

以上是大的背景~

前期准备

嘛~在做之前首先需要了解一些银行的开发背景和需求,大致如下:

  1. 银行内部使用封闭式的开发模式
  2. 需要私有化部署
  3. 需要驻场
  4. 需要对接行内的各种系统
  5. 行内6点左右就下班了

做足了功课,那么继续往下推进~~

文档方面

跟行内的架构师讨论项目的部署方案,直观的感受就是,银行可真有钱…一套B类系统(就是非主要系统)。对方要求在两个城市分别构建数据中心,每个数据中心又分为云上云下两套服务集群。项目采用k8s进行部署,撇开配置不谈,一套服务需要的容器大概是15个,每个服务都要配置高可用。最低估算,按照要求光容器就要120个(原谅我没见过世面…)
至暗时刻的一丝曙光:关于对接银行项目的一些感悟
以上属于口胡…

银行项目对文档要求十分严格,技术方案的文档是由我们这边提供,前前后后改了大半个月,大概改10来版(对,你没看错,这还只是我负责的一份文档),包括但不限于需求概述、现有系统架构和环境、总体架构(物理架构/应用架构/数据架构)、开发技术、网络硬件负载均衡设计、存储与备份设计、高可用设计、运维监控、安全架构

仿佛回到了2年前疯狂改论文的那段时光~~

编写文档的过程中,真心要吐血,但是也确实学到很多东西,由于很多东西不了解,编写过程中,要及时向这这方面的同事和行内老师及时请教。写完一版要先公司内部过一遍,在交出去。万一某项细节方面公司内部出现分歧就尴尬了。另外类似这种文档,一般要通过正式邮件发送,包括其他一些比较正式的文件都需要走邮件,这样比较符合规范,能够避免一些不必要的麻烦。

环境方面

刚才已经提到过,银行属于封闭式的开发模式,简单来说就是没有外网。最开始了解到这个消息,我心里就是咯噔一下,大呼不妙~
这里还有个前提,如果对方要求你连自己的电脑都不能带的话,那还是赶紧跑路……对于面向Google开发的程序员来说简直是毁灭性的打击。
至暗时刻的一丝曙光:关于对接银行项目的一些感悟

准备各式各样的离线资源包

在去银行进行部署、开发之前,先把对方行内的系统大致了解清楚后,就可以开始着手准备各式各样的离线资源包了。这里要区分线上环境开发环境,就拿我这个对接的项目来说,主要是准备python相关的资源和一些前端资源。

线上环境

由于是k8s部署,我们只要准备好镜像包就OK了,包括前端镜像和后端镜像(吐槽一下银行导入资源必须得找专人,几百k/s的资源导入速度也很感人…)

开发环境

就是对方分配给你的开发机,需要搭建本地开发环境,这个要的东西就多了。如果能够自己带电脑的话,当然可以在自己电脑上进行开发。

但是这个开发机不能不管,甚至后面没有他会让你痛不欲生(别问我为什么知道的),因为之后与银行内部系统的对接调试,必须要通过这台机子来完成。

银行给到的机器的开发环境搭建是高优先级!!!

我们要准备的大概有python本体,一个合适的IDE用的顺手的开发工具(大多数情况下只能使用免费的,收费的不让装),其他数据库中间件(比如redis)的安装包。因为我很多年不用windows,而银行提供的机子又好死不死的是win8系统,开发环境搭的我人裂开来…
至暗时刻的一丝曙光:关于对接银行项目的一些感悟

中期实施

部署

这个没什么好说的,需要吐槽下行内提供的容器管理平台超级不好用,以至于后面一直跟银行的老师申请kubectl的终端权限…

驻场开发

由于不能连接外网,开发过程中自然免不了驻场,这个光荣而又艰巨的任务当然是落到了我的头上。
此时你能够与外界沟通的唯一渠道就是手机,不要吝啬流量,开个热点给自己的电脑比什么都好…
开发过程最好是在自己的电脑上,这样效率是最快的,可以选择驻场期间进行对接调试,回公司进行快速开发(前期部分开发是在银行内部进行的,网络环境极差(只有手机流量),而且客场压力山大,与同事的沟通成本大幅增加,开发效率显而易见了,所以之后才考虑换成上面说的开发模式)。

系统对接

由于银行系统只能通过行内网络进行访问,系统对接必须要在开发机上进行,此时就体现出搭建开发机环境的重要性。

对接过程中,有两个比较重要的流程,一个是阅读文档,一个是沟通。银行的文档是我目前看到过的最为全面也最为复杂的。从开发的角度看,一篇文档有效信息大概也就20%左右。此时要多多注意快速提炼出需要的部分,其他的扫一眼赶紧过掉,不然读文档就要花掉非常大一部分时间。

银行的项目,大多数时候,你想要一个接口文档,对方却丢给你一份系统的文档,你想调他们的服务还得先熟悉他们的系统,这么蛋疼的事情最好不要自己一个人默默的做,尽量交给银行对接的人来负责(如果有的话,不,没有也得整一个出来)

沟通方面,尽量不要害羞(再次吐槽下银行的聊天软件,各种不好用),明确下沟通方式的优先级

当面聊 > 电话聊 > 微信聊 > 行内软件聊

打字聊天信不信对方可能几个小时都不会回复你一下(这个倒也不是只有银行这样)
另外沟通尽量在6点前进行,晚了银行的老师就该下班了…(匿名羡慕…)

跟自己公司的同事就不要客气了,有问题赶紧甩个电话过去就好。

后期

还处在中期阶段,持续更新中,希望项目能够顺顺利利的进行~~~~^ _ ^

至暗时刻的一丝曙光:关于对接银行项目的一些感悟

本文地址:https://blog.csdn.net/breavo_raw/article/details/107449294

相关标签: 感悟