云计算考核 - 分析电子银行需求采用微服务架构对系统进行设计

90 阅读6分钟

(2)个人帐户管理相关功能:个人账户转账;管理你所有的账户;查看最新的帐户报表和余额;查看自动更新的支出报告;查看付款历史;将数据与个人理财程序整合;修改联系方式;核实条款和条件;信息反馈

(3)贷款相关功能:申请贷款或信用卡;网上增加透支额度

(4)投资帐户相关微服务:购买和管理投资账户;查看使用投资研究;网上投资推荐.

2. 微服务的划分

基于微服务的网上银行系统是融合微服务架构思想和软件三层架构设计思想进行构造。首先,在整体架构层面,在满足系统非功能性需求的前提下进行两级拆分,将整个系统功能模块拆分为多个颗粒度尽可能小的微服务子系统,分别是个人帐户管理微服务********、转账微服务、贷款微服务和********投资微服务。其次,在代码层面,按照软件三层架构设计思想,将每个功能模块内的代码层级分为展现层、业务逻辑层和数据访问层,三层之间通过微服务包装成独立的系统级应用并通过接口和网络向外提供服务。基于微服务的网上银行系统的总体架构图如图所示。

如图所以,我们可以大概将微服务进行划分。

(1)帐户管理微服务,我们主要是实现用户对个人帐户的管理,包括个人账户转账;管理你所有的账户;查看最新的帐户报表和余额;查看自动更新的支出报告;查看付款历史;将数据与个人理财程序整合;修改联系方式;核实条款和条件;信息反馈,他需要与用户相关的数据库进行交互。

(2)转账微服务是要实现付款转账等操作,主要包括:电子账单支付服务,实现汇款功能;提前安排付款;个人帐户之间转账;查看已支付账单;网上订购旅行支票,它需要保存用户的信息,并且存储在转账的相关数据库。

(3)贷款微服务,主要帮助用户实现贷款以及信用卡的相关操作,包括申请贷款或信用卡;网上增加透支额度,需要和支付相关的数据库交互。

(4)投资微服务,主要是帮助用户完成投资相关功能,包括购买和管理投资账户;查看使用投资研究;网上投资推荐,也需要和数据库交互。

(5)其他微服务,还要实现的相关微服务有注册发现微服务、配置微服务、网关微服务等。

二、使用的技术以及分析

===================

微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

微服务的优点在于:每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。微服务能使用不同的语言开发。微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。

实现本电子银行系统会使用到的技术栈:

  • 服务注册发现: eureka

  • 服务开发:Springboot、Spring、SpringMVC

  • 配置管理:spring config , spring security

  • 服务调用 REST

  • API网关: Spring Cloud Gateway

  • 分布式锁: redis

  • 安全认证: JWT

  • 服务监控: spring-boot-admin

1. sping cloud

Spring Cloud是一个基于Spring Boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

考虑 Spring Cloud 的原因有如下几点:

(1)Spring Cloud 来源于 Spring,质量、稳定性、持续性都可以得到保证。

(2)Spirng Cloud 天然支持 Spring Boot,更加便于业务落地。

(3)Spring Cloud 是 Java 领域最适合做微服务的框架。

(4)相比于其它框架,Spring Cloud 对微服务周边环境的支持力度最大。

(5)对于中小企业来讲,使用门槛较低。

(6)Spring Cloud 是微服务架构的最佳落地方案。

2. 服务注册发现

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,一实现SpringCloud的服务发现功能。

3. REST

REST提供了一组架构约束,当作为一个整体来应用时,强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互延迟、增强安全性、封装遗留系统的中间组件。

几年的由于移动互联网流行使得前端设备多样化,业界急需一种统一的机制来规范API设计,使得API适用于各种各样的前端设备,REST符合这种需求。并且行为和资源分离,更容易理解。

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK