Erstellen einer verteilten java-Anwendung?

Erste von allen, ich habe eine konzeptionelle Frage, Hat das Wort "verteilt" nur bedeuten, dass die Anwendung auf mehreren Maschinen? oder gibt es andere Möglichkeiten, in denen eine Anwendung betrachtet werden kann, verteilt werden (zum Beispiel, wenn es viele unabhängige Module interagieren zusammen, aber auf der gleichen Maschine befinden, ist dieser verteilt?).

Zweiten, ich möchte ein system bauen, das führt vier Arten von Aufgaben gibt es mehrere Kunden, und jeder wird haben viele Aufgaben, die von jeder Art, um in regelmäßigen Abständen ausgeführt werden. Zum Beispiel: customer1 haben task_type1 heute task_type2 nach zwei Tagen und so weiter, könnte es sein, customer2, wer hat task_type1 ausgeführt werden, zur gleichen Zeit wie customer1 ist task_type1. d.h. es ist eine Notwendigkeit für die Parallelität. Konfiguration für die Ausführung der Aufgaben gespeichert werden in DB und die Ergebnisse dieser Aufgaben werden gespeichert in der DB als gut. die Kunden nutzen das system über einen web-browser (html-Seiten) zur Interaktion mit dem system (im Grunde, konfigurieren von Aufgaben und sehen Sie die Ergebnisse).
Ich dachte über die Verwendung eines rest-webservice (mit JAX-RS), wo die html-Seiten kommunizieren mit und über den backend die Verwendung von threads für die gleichzeitige Ausführung.
Fragen:

  1. Das klingt einfach, Aber bin ich in die richtige Richtung gehen? oder sollte ich mit anderen Technologien oder Konzepte wie Java Beans zum Beispiel?

2.Wenn mein Ansatz in Ordnung ist, brauche ich eine scripting-Sprache wie JSP oder ich kann senden von html-Formularen direkt auf die rest-urls und erhalten das Ergebnis (JSON z.B.)?

  1. Wenn ich will, um damit die Anwendung verteilt werden, ist es möglich, mit meiner Idee? Wenn nicht, was müsste ich verwenden?

Sorry für die vielen Fragen , aber ich bin wirklich verwirrt über diese.

haben Sie wirklich erwarten, dass task_type1, task_type2 usw. sehr CPU-intensiv? Haben Sie Test, um zu bestätigen, dass? Gibt es wirklich eine Menge der Benutzer, die die Anwendung zur gleichen Zeit? Kann es sein, dass ein einzelner server die Last bewältigen kann nur gut und das verteilen der Anwendung würde nur die Dinge zu komplizieren, mit keinen zusätzlichen nutzen. 2. nicht davon ausgehen müssen Sie threads, weil "die Aufgaben müssen ausgeführt werden, zur gleichen Zeit". Es sei denn, Sie nutzen mehrere CPUs, eine einzelne Faden zieht tasks aus einer Warteschlange wird wahrscheinlich gut funktionieren.
die Aufgaben selbst sind nicht CPU-intensiv sind, aber wenn ich viele Kunden mit vielen Aufgaben könnte dies ein problem in der Zukunft, ich bin am überlegen Skalierbarkeit für die Zukunft. Ich nehme an, ein server handhaben würde, für jetzt. Aber ich wollte wissen, wie man es verteilt, falls ich die brauchen würde. also ich wollte zu verstehen, die Konzepte der Verteilung.
Bezüglich des threads, ich brauche Aufgaben ausgeführt werden zu einem bestimmten Zeitpunkt, zum Beispiel, könnte es sein, task_type1 ausgeführt werden um 10:00 Uhr für customer1 und anderen task_type1 für customer2 auch um 10:00 Uhr. Ich brauche eine Art von Parallelität in der Ausführung. ich.e: Bearbeitung der zwei Aufgaben parallel.
der Begriff "verteilt" wird im Allgemeinen verwendet im Sinne von "läuft auf mehreren Rechnern"
"sollten die Verwendung anderer Technologien oder Konzepte wie Java Beans zum Beispiel" – wenn Sie sich nicht sicher sind, was "Java-Beans" sind, Sie wahrscheinlich sollte nicht sein, zu schreiben versucht, ein verteiltes system. Das klingt wie Sie gerade Maischen Technologie Schlagworte willkürlich zusammen.

InformationsquelleAutor Sami | 2012-07-04

Schreibe einen Kommentar