Mongodb 使用Springboot和RESTAPI调用在mongo db中高效存储数百万数据

Mongodb 使用Springboot和RESTAPI调用在mongo db中高效存储数百万数据,mongodb,spring-boot,udp,blockingqueue,Mongodb,Spring Boot,Udp,Blockingqueue,我正在使用RESTAPI调用和Mongo数据库进行Spring引导。 我们有一些硬件设备作为客户端,我是服务器。多个客户端通过端口在毫秒内向我发送数百万字节的数据,IP地址(即)字节大小为4kb 我通过TCP/UDP服务器通过端口号接收字节数据。之后,我使用阻塞队列概念将数据发送到rest调用,并将批插入数据存储在数据库中 问题: 当客户端通过端口和IP地址(UDP概念)向我发送1000万数据时,但我方只接收到500万到600万数据,缺少400万数据 我观察到需要一些时间进行数据转换(意味着字节

我正在使用RESTAPI调用和Mongo数据库进行Spring引导。 我们有一些硬件设备作为客户端,我是服务器。多个客户端通过端口在毫秒内向我发送数百万字节的数据,IP地址(即)字节大小为4kb

我通过TCP/UDP服务器通过端口号接收字节数据。之后,我使用阻塞队列概念将数据发送到rest调用,并将批插入数据存储在数据库中

问题:

当客户端通过端口和IP地址(UDP概念)向我发送1000万数据时,但我方只接收到500万到600万数据,缺少400万数据


我观察到需要一些时间进行数据转换(意味着字节数据转换为int、float、boolean)并存储在DB中,此时可能缺少客户端数据

这是一个太宽泛的问题,范围太广,但只是为了让您了解如何解决问题

  • 如果可能的话,使用mongodb Responsive迁移到spring webflux,它将因为无阻塞io而提高性能

  • 您需要为您创建的微服务使用负载平衡器来使用记录

  • 检查您的服务配置,看看它可以选择多少负载,当然webflux将帮助您在垂直扩展中消耗资源,但如果负载过高,请使用负载平衡器并在多台机器上部署您的应用程序

  • 在mongodb中,数百万条记录都很好,但在集群上使用mongodb会降低性能


  • 这可以帮助你实现你想要的

    既然你似乎自己修好了,我现在就修好了。你们语言中的“数据”和“字节”一样吗?或者一百万个数据有多少?