飞天加速计划的收获

简介: 基于DDD的设计思想对原有的电力市场平台进行重构,同时借助飞天加速计划实现服务的云部署。

本人是大连理工大学的一名研三学生,研究生主要从事的是电力市场的研究与系统落地。一次偶然的机会,从在阿里工作的同学口中得知了飞天加速计划,准备借助云平台对原有的系统进行DDD的改造与开发。电力市场平台目前已经发展到第二期了,随着实际业务的发展,一期系统运行速度慢,不够灵活的缺点也开始显现出来,二期结算子系统应运而生。为了使系统更具有灵活性、用户友好性,采用了新的MVC设计思想,新的页面划分,新的权限设置。主要完成了以下功能点:
1.交易中心操作界面:具有信息发布、方案管理、市场管理、市场运营、调度校核、交易参数、资格统计、保证金管理、合同管理、交易服务费管理、集团用户管理、偏差管理、统计报表、优先电量管理、中长期曲线分解、历史电量查询等功能。
2.发电企业操作界面:发电企业自身的合同管理、交易服务费管理、偏差管理、统计报表、中长期曲线分解、历史电量查询、交易参数、信息发布及市场总览等功能。
3.售电公司操作界面:售电公司自身的合同管理、交易服务费管理、保证金管理、统计报表、中长期曲线分解、历史电量查询、交易参数、信息发布及市场总览等功能。
4.用电企业操作界面:用电企业自身的合同管理、交易服务费管理、统计报表、中长期曲线分解、历史电量查询、交易参数、信息发布及市场总览等功能。
但是基于MVC三次架构的分层方式往往使用贫血模型进行开发,容易陷入一种数据驱动的高耦合方式,往往业务不清晰,可拓展性较差。想使用DDD的设计模式对原有代码进行完善,并进行毕业论文的撰写。

项目收获:
技术实现:SpringCloud + SpringBoot + MyBatis + Redis + Oracle + RabbitMQ + FastDFS
1.使用SpringCloud搭建项目,集成Eureka实现服务注册与发现,使用Config+GitLab私有服务器实现统一配置,使用Zuul配置各服务间的路由规则,构建鉴权中心,实现单点登录与服务间的调用鉴权。
2.开发实时挂牌交易算法,引入RabbitMQ处理高并发订单,使用Redis保存和恢复宕机数据。
3.为提升用户体验,采取异步化设计,使用CompletableFuture反馈异步结果,开发业务监控功能集中监控任务进度,引入xxl-job异步化定时任务,调度次数达432万余次。
4.为提升查询效率,对于可变数据使用Redis缓存,固定数据使用CommandLineRunner在启动时加载。
5.为满足多主体的结算规则,开发定制化算法,结果幂等,使用深拷贝对特殊用户进行处理,已产生结算数据1200万余条,利用池化技术对数据进行高效的获取与归档,并使用联合业务主键控制数据幂等。
6.基于JXML+easyPoi+itextpdf实现了EXCEL/PDF文件的解析与生成,开发电子签章通用接口,保障数据可信,使用FastDFS构建分布式文件服务器,并解决了高并发场景下的错单问题,已出具结算清单130万余张。

相关文章
parseFloat和toFixed的作用,如何使用?
parseFloat和toFixed的作用,如何使用?
157 0
【资源分享】阿里云盘资源永久汇总页
不知道大家的阿里云盘现在有多少容量了?阿里为了资源也为了网盘活跃度,在九月推出限时活动,分享赢10T容量。因此带来了这一波的阿里盘分享热潮,当然大部分人都是奔着10T去的。所以网上资源翻来覆去的很多,重复的也多。正因如此空空发现了一位网友非常的有心,将分享出来网盘资源进行了梳理汇总,并且搭建了这个终极阿里云盘资源整合网站——【阿里云盘资源永久汇总页】。
215052 11
【资源分享】阿里云盘资源永久汇总页
|
弹性计算 人工智能 运维
高校学生参加飞天加速计划
linux与服阿里云服务器ECS, 阿里云服务器为提供了强大云计算能力。并且平台有很多开发者的使用教程,让我们新手也能很快上手去开发一些网站,希望更多的学生能够加入到阿里云,学习+实战让自己变得更强。
|
JavaScript 网络架构
vue 如何获取路由详细内容信息
vue 如何获取路由详细内容信息
vue 如何获取路由详细内容信息
|
Oracle 关系型数据库 Linux
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (二)
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (二)
1851 0
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (二)
|
弹性计算 开发工具 C语言
浅谈ecs的使用体验
随着c++课程学习的深入,云服务器上无法长时间保存工作内容的缺点日益凸显,这就使得学习的进程和范围受到了一定的限制。本文主要围绕本人的ecs使用体验,包括所做内容及过程、问题解决和经验的分享,浅谈一些使用经历和感想。同时,也对未来的学习使用作出一些规划。
|
弹性计算 小程序 程序员
ECS开发者体验
本人在选修南京大学《面向对象编程基础》课程后第一次接触到阿里云开发者平台,从一开始的资源体验到领取云服务器兑换码,获得自己的云服务器,在学习,掌握基本的c++知识外,也初步了解到真正代码开发的环境,学习到简单而实用的指令,收获匪浅。
|
监控 消息中间件 微服务
应用上云新模式,Aliware 全家桶亮相杭州云栖大会
全面上云带来的变化,不仅是上云企业数量上的攀升,也是企业对云的使用方式的转变,越来越多的企业用户不仅将云作为一种弹性资源,更是开始在云上部署架构和应用,借助 Serverless 等技术,开发人员只需聚焦于业务代码,省去了对底层资源的维护,同时底层资源用起来会更节省。
5777 5
|
云计算
阿里云有奖调查!赠10个阿里巴巴logo胸针
为了感谢参与调查的同学,我们准备了10个阿里巴巴logo胸针,在调查结束后,将抽取10位ACE成员赠送该礼品。