意大利邮政靠K8s和Kafka,三阶段打造开放银行微服务架构

意大利超过12000个邮局地点,拥有13万名员工的意大利邮政,因为欧盟PSD2指令要求,早在一年前就开始构建一个开放的银行(Open Banking)架构。两名意大利邮政IT解决方案架构师Pierluigi Sforza和Paolo Gigante,最近分享了这个开放的银行架构背后所用的关键技术,就是商用K8s平台OpenShift和开源流处理平台Kafka。

意大利邮政分三阶段打造此架构,第一阶段先导入DevOps和OpenShift 3.9平台,先应用到7个大型单体应用上,来测试DevOps模型和工具。

有了经验后,就进入第二阶段,目标是通过DevOps、OpenShift再加上Kafka建立一个资源中心架构,将来自各种资料源的串流资料和各种资料检视模式,都集中到单一平台上来提供。新平台上线后,前8个小时就完成了第一波5亿笔资料的汇整,达成了这个阶段的目标。

第三个阶段,意大利邮政PSD2平台,开始导入API网关,来提供对外第三方(TPP)的API串联管理,并用OpenShift创建了一个微服务中台,包括9大类功能,例如信用卡、付款、资金查核、账号管理、注册开户、诈欺信息分析等,再串接到后端的现有系统。

另外,意大利邮政也建立了双层式的异地双活备份架构,在罗马跟690公里外位于北义的杜林,各建立了一套镜象副本PSD平台,采取双活(Active-Active)设计,另外在罗马当地,还在两座相隔1公里的机房各设立一套,来建立本地端(罗马当地)的异地备份,而杜林则是远地的异地备份,等于这个PSD2平台使用了3座机房,另外还搭配一家公有云来提供备份。这个PSD2平台上线1年后,意大利邮政现有13套集群,所用的总核心数达到1,300个。已有4套系统正式在这个微服务架构上运作,另有15项新项目正在开发阶段。参与的开发人力有353人,每个项目会用到3组Jenkins流程,涵盖1,200项任务。


不过,两位运维成员也坦言,Kafka的好处是可支持大量的跨App通讯,也能与传统储存兼容,但创建成本不低,后续运维和扩充的难度也比较高。下一阶段,他们计划改用支持一家专供K8s版Kafka套件的公司KStrimzi的套装产品,来取代自行创建整套Kafka的作法,降低手动维护和后续新部署的复杂度,目前正在测试。

参考:https://www.ithome.com.tw/news/133976