JAVA项目设计,需要用到mq和缓存,springmvc

我需要设计这样一个项目。
我要从两个地方读取数据然后传输给第三方。涉及到高并发。
从两个数据库中分别获取a类数据,b类数据。
从远程rabbitmq上获取c类数据。
然后abc组合成不同形式的文件的发到ftp上。
a类数据几乎是固定的,可能几天都不会变。
b类数据可能分钟就要读一次。
c类数据量比较大。一秒钟几百次的传输。
要求每10分钟左右上传一次,或者某些数据达到一定量。
我没设计过系统,现在一脸萌逼。

我应该采用什么技术/工具/框架