该需求如何选择java框架或者工具?

目前有这样一个需求:有n个客户端,每个客户端有1-2台服务器来部署客户端程序,有一个服务端服务器部署服务端程序,这n个客户端会不定时产生数据,并调用服务端接口(不止一个)传递数据。请问这样的需求该怎么选择框架,打算使用springboot框架,该怎么选择组件来解决并发的问题(即多个客户端可能同时调用同一个接口)?并且客户端该如何选择数据推送方式,定时任务吗?还是其他稳定的信息推送组件?

客户端主动调用服务端接口,并发量大上队列

可以引入消息队列、比如RocketMQ,客户端作为消息的发送方产生数据、服务端作为消息的消费方处理数据、并发量大的话、服务端可以部署多台机器

解决并发的问题可以用redis分布式锁;客户端该如何选择数据推送方式可以使用kafka中间件

最简单的实现肯定是基于NIO的socket的实现, 高并发服务端就用netty

并发问题在于对于数据的处理方式,如果不存在资源锁定,最多就是多几个服务来负载。