Multiprocessing mit shared resources
Verfasst: Montag 12. Juni 2023, 08:00
Hi alle zusammen,
ich habe eine Art Smart Home Projekt. Bisher habe ich den größten Teil async programmiert und nur wenige kritischen Stellen mit Threads versehen. Je nachdem was ausgeführt werden muss komme ich jedoch in Performance Probleme, weil ein Kern leider nicht mehr ausreicht. Das System lässt sich in etwa 6 Teile sinnvoll unterteilen, welche aber teilweise miteinander kommunizieren müssen. Das bedeutet, dass manchmal ein Service eine Art Notification an einen anderen sendet, dass etwas passiert ist und manchmal muss etwas auf einem anderen Microservice berechnet werden und nur das Ergebnis soll zurückgegeben werden. Daher überlege ich aktuell eine Art Microservices zu implementieren, wobei jeder von den 6 Teilen über nen ProcessPool einen eigenen Process bekommt. Wie würdet ihr die Kommunikation unter den Microservices handlen? Wichtig anzumerken ist, dass die einzelnen Microservices auf dem selben Gerät laufen werden und dieses Konzept nicht aus Skalierungsgründen gewählt werden würde.
Vielen Dank für Eure Vorschläge!
LG
Jakob
ich habe eine Art Smart Home Projekt. Bisher habe ich den größten Teil async programmiert und nur wenige kritischen Stellen mit Threads versehen. Je nachdem was ausgeführt werden muss komme ich jedoch in Performance Probleme, weil ein Kern leider nicht mehr ausreicht. Das System lässt sich in etwa 6 Teile sinnvoll unterteilen, welche aber teilweise miteinander kommunizieren müssen. Das bedeutet, dass manchmal ein Service eine Art Notification an einen anderen sendet, dass etwas passiert ist und manchmal muss etwas auf einem anderen Microservice berechnet werden und nur das Ergebnis soll zurückgegeben werden. Daher überlege ich aktuell eine Art Microservices zu implementieren, wobei jeder von den 6 Teilen über nen ProcessPool einen eigenen Process bekommt. Wie würdet ihr die Kommunikation unter den Microservices handlen? Wichtig anzumerken ist, dass die einzelnen Microservices auf dem selben Gerät laufen werden und dieses Konzept nicht aus Skalierungsgründen gewählt werden würde.
Vielen Dank für Eure Vorschläge!
LG
Jakob