We are designing new Point of Sales (POS) application for 50+ locations. Due to increased cost for Microsoft licensing and hardware, the idea is to make most of the application serverless where only the POS application will be installed on standalone PC running Windows application.
The idea is to offload invoices as quickly as possible, but without disrupting the POS application or anything in Backoffice. Internet links between locations running the POS and datacenter on-premise where backoffice ERP is being run is in most cases 4/1 Mbps (1Mbps upload).
Working time is 12 hours, 10 POS systems generates invoice like every 2-3 minutes. So it is approx. 3600 invoices during a day. All these must be offloaded to central ERP system. Currently there are 50 location so it would be approx. 150.000 invoices a day.
VPN works but also breaks due outage on the Internet Service Provider (ISP) side. The firewall may go bad, switch may go bad, etc. We have to design a system prone to any of these errors where no invoice will be lost (on POS side there is double write on two different media + 15m backup).
Reading about Nservicebus and it may be good fit for this scenario but I am not sure. What would be advantage utilizing NServicebus to offload messages (invoices) comparing to just shoot from POS to some web service at datacenter?