ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RPC模式开发一个银行atm模拟系统

2020-05-06 17:56:48  阅读:286  来源: 互联网

标签:调用 界面 登录 可以 atm rpc RPC 菜单 模拟系统


采用rpc模式开发一个银行atm模拟系统。

系统主要提供一个服务Card,该服务接口可以提供登录、查询、取钱、存钱等功能。服务接口的设计和实现自定义。

项目地址:https://github.com/gcw0618/Distributed-Computation

Atm客户端功能需求:

1、ATM可以实现用户登录、查询、取钱、存钱操作。所有操作以rpc的方式透明地调用服务器端的远程服务对象完成。客户端不能直接访问数据库系统。
2、用户输入银行账户和密码,可以登录,若登录失败则提示不能登录。**
3、登录后可以显示主菜单菜单分别为查询余额、取钱、存钱和退出。
4、从3的界面中选择查询,则显示账户余额,并可以退回到主菜单界面重新显示主菜单。
5、从3的界面中选择取钱,则输入取钱金额。若取钱金额超过余额,则提示错误,否则提示取钱成功,并显示余额,同样本界面可以退回到主菜单界面重新显示主菜单。
6、从3的界面中选择存钱,则输入存钱金额,然后提示取钱成功,并显示余额,同样本界面可以退回到主菜单界面重新显示主菜单。
7、从3的界面中选择退出则退出系统。

服务器端功能需求:

1、银行卡数据保存在数据库中,请自行设计数据库的相关结构。
2、可以通过rpc的方式接受客户端的调用完成相关的数据存取。

rpc框架功能需求:

1、采用多线程功能,使得该rpc框架可以接受任意多次并发调用。
2、改造rpc框架,为rpc增加一个可配置的rpc服务可用性扩展,通过配置文件可以至少配置两台以上的服务器同时提供服务端的调用,例如:在配置文件中可以配置两台服务器的地址和端口。客户端无须指定rpc调用的服务器地址和端口,可以简单使用负载均衡随机或轮询算法的方式选择一台服务器进行rpc调用。整个rpc负载均衡调用的过程对于客户端的程序应该完全透明。
(提示:在本地一台机器调试的时候,可以通过简单运行两个服务端程序,但是服务打开的端口不同的方式来模拟两台服务器)
3、当一台RPC远程调用网络连接失败,可以自动转向另一台服务器进行调用,当两台服务器均不能联通则报一个错误。
4、为rpc服务器端调用增加一个简单的可配置的AOP,使得程序开发人员今后可以方便的对银行卡服务的一个或多个功能(如登录、取钱等)进行切面编程。
5、以AOP的方式,做扩展如下:
在登录功能后执行一个检查同一个账户是否连续失败次数是否超过3次,如超过3次,则锁定账户,该账户今后将不能再次登录。
在取钱操作后,执行一个登录日志功能,将取钱账户、取钱金额、取钱日期、取钱前/后账户余额写入数据库日志。
6、为了简化项目开发,可以假设本rpc服务端上固定只运行一个Card服务,且无须考虑注册中心的功能。

标签:调用,界面,登录,可以,atm,rpc,RPC,菜单,模拟系统
来源: https://www.cnblogs.com/gcw0618/p/12837857.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有