项目描述:
本项目是一个数字币交易所,主要分为法币交易(现实中流通的法定货币和数字货币的交易)和币币(数字货币之间的交易)交易两个部分。用户在注册之后可以交易。
我从2018年11月份开始参与项目开发。项目是MVC的架构模式。在今年二月份进行了前后端的分离,前端用Vue框架,后端用Yii2框架。后端程序细分为了api层和服务层,api层做数据的验证,服务层做业务逻辑的处理。不同的功能模块,初步实现微服务。
为了应对高并发问题,项目进行了两次重要的性能提升。
第一次提升引入了Redis,通过Linux的定时任务,把币币交易过程中的撮合和入库两个步骤由同步改为了异步。 这次提升经过小组反复的讨论,最后是由我们四人配合完成。第二次为了进一步提高交易的并发应用了rabbitMQ,并把数据库中的一些触发器做了调整。
责任描述:
1、在开发小组里主要负责法币交易、广告发布。
2、协助开发币币交易,包括交易页面的数据展示,交易异常订单预警,对交易数据做削峰处理等。
项目成绩:
1、重构法币交易api层,初步完成了项目法币交易的微服务的架构。
2、熟练掌握了workerman框架。把法币交易的聊天由以前的Ajax轮询,用workerman改为了实时聊天,从而减轻了数据库压力,并提升了用户体验。
3、利用workerman,用WebSocket协议展示了币币交易的数据;用workerman对异常订单作出预警,对交易数据做削峰处理,使得数据查询速度提升30多倍。
4、用rabbitMQ实现法币交易过程中异步发送提醒短信等。