在我们公司,我们正在构建一个高需求系统,用于通过 SMPP 以及直接使用调制解调器向不同的客户和提供商发送 SMS。
系统处理不同的请求,并连接到数据库以选择消息并更新它们的状态(发送、接收、错误等)。我们收到发送短信的需求,这些短信按照优先级排队,根据请求通过不同的渠道发布。现在,需要生成线程来同时处理不同的通道,但这会使系统运行缓慢,因为事务可能很多。
我们有兴趣开发一个新系统,它不应该有太多的并发问题,并且可以最大限度地利用我们的服务器处理器。
据我们了解,我们的问题可以通过对请求线程的不同处理来重新构建系统来解决,¿您会推荐哪种架构、框架或库来处理这个问题,这将提供最佳性能?
我们目前正在考虑:Java 7 Fork/Join、IBIS(MPJ、GMI、Satin)和 AKKA(Actors 库),但这不是限制。还希望该系统不依赖于架构,并且可以是可扩展的并迁移到云服务。
PD:当前系统确实会为每个要发送的消息生成一个线程,并以某种方式使用线程池,但根本不是以优化的方式。除了改进糟糕的实现之外,我们还希望利用我们所有的资源(内核、处理器)来提高整体性能。