Je travaille sur une application pour le suivi des véhicules. Il y aura environ 10k ou plus de véhicules. Chacun enverra ~ 250 octets dans chaque minute. Les données contiennent l'emplacement GPS et tout de CAN Bus (toutes les données que nous pouvons lire de l'ordinateur du véhicule et tableau de bord). Les données sont envoyées par GSM/GPRS (en utilisant le protocole UDP). Les lignes estimées avec ces données par jour sont ~ 2000k.Conseils sur la conception et la construction d'applications distribuées pour le suivi des véhicules
Je vois là 3 blocs principaux (blocs -> modules principaux moyens).
1. Serveur de socket multithread (MSS) - Je l'ai. MSS stocke les données dans la file d'attente (en utilisant NServiceBus).
2. Serveur RPC (Rule Processor Server) - c'est le cœur de ce système. Ce bloc est responsable de l'analyse des données reçues, du stockage dans la base de données, du traitement des règles, de l'envoi des messages à Notifier Server (envoi de messages e-mails/sms).
Exemple de règle. Comme je l'ai dit plus tôt, les octets reçus, il y aura des informations sur la vitesse actuelle. Lorsque la vitesse sera supérieure à 120, alors: afficher l'alerte dans l'application Web pour les utilisateurs spécifiés, envoyer un e-mail, envoyer un SMS.
(Il peut y avoir plusieurs instances de RPS sur la même machine).
3. application Web - permet des rapports et la définition de règles par les utilisateurs, les alertes de surveillance, etc.
Je cherche des conseils comment concevoir la communication entre RPS et application Web.
Quelques questions:
application Web et RPS ont doit-séparés bases de données ou une base de données centrale sera suffisant?
J'ai un modèle de domaine dans une application web. S'il y aura une base de données centrale, puis-je utiliser le même modèle (objets) sur RPS? Alors, comment envoyer les règles modifiées à RPS?
J'essaie de découpler autant que possible ces blocs. Je prévois de créer une instance d'application différente pour chaque client (chaque client aura une base de données séparée). Un client aura des véhicules 10k, d'autres seulement 100 véhicules.
Méfiez-vous des brevets existants dans ce domaine. J'ai travaillé pour Vert.net et il y en a d'autres. – kenny