Your best option is to write a performance test to emulate the scenarios you're talking about (100 - 10 000 devices sending messages) and see what the results are like. You want to think about the things you want to test, for example
- Response time (e.g. does the response time increase with an increased number of connections)
- Server load (does the CPU or other hardware start to creak when you make more connections)
- Throughput (is the amount of data you can transfer compromised when you have more connections)
You should not test all of these in a single test, but figure out which is important to you and write an appropriate test (or series of appropriate tests)
The results you get will be dependent upon the hardware that you use during testing, but you should be able to get an idea of whether your architecture will handle the sorts of load you're expecting, or whether you need to redesign it.
I did a quick google for both "Writing Java Performance Tests" and "Designing REST Performance tests" and there are lots of articles, webinars and training on this sort of thing.