I need to design a system which has these basic components:
- A Webserver which will be getting ~100 requests/sec. The webserver only needs to dump data into raw data repository.
- Raw data repository which has a single table which gets 100 rows/s from the webserver.
- A raw data processing unit (Simple processing, not much. Removing invalid raw data, inserting missing components into damaged raw data etc.)
- Processed data repository
Does it make sense in such a system to have a service layer on which all components would be built? All inter-component interaction will go through the service layers. While this would make the system easily upgradeable and maintainable, would it not also have a significant performance impact since I have so much traffic to handle?