Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "TomcatGridDiscussion" page has been changed by theimpaler:
https://wiki.apache.org/tomcat/TomcatGridDiscussion?action=diff&rev1=4&rev2=5

  
  The example shown in the figure below assumes Machines #1 and #4 run a 
lighter  web and/or back end applications, so they have enough resources 
bandwidth to  run the extra Tomcat instance for the manager. In case the 
primary manager on  Machine #1 goes down (or the whole Machine #1 goes down), 
there is a secondary  manager (on Machine #4) that can be activated to take 
over the managing duties.
  
- {{{
+  {{attachment:TomcatGridExample.png}}
  
-                                              ..Machine #2.............
-                                              :                       :
-                                              : [Tomcat #2]           :
-                                              :   ^                   :
-                                              :   |  [Tomcat #6]      :
-                                              :   |    ^              :
-                                              :   |    |  [Tomcat #9] :
-                                              :   |    |    ^         :
-                                              :   |    |    |         :
-                                    +---------->[Grid Agent #2]       :
-                                    |         :                       :
-                                    |         .........................
-                                    |
-                                    |
-  ..Machine #1.............         |         ..Machine #3.............
-  :                       :         |         :                       :
-  : [Primary Web Manager]---------->|         : [Tomcat #3]           :
-  :                       :         |         :   ^                   :
-  :      [Tomcat #1]      :         |         :   |  [Tomcat #7]      :
-  :        ^              :         |         :   |    ^              :
-  :        |  [Tomcat #5] :         |         :   |    |  [Tomcat #10]:
-  :        |    ^         :         |         :   |    |    ^         :
-  :        |    |         :         |         :   |    |    |         :
-  : [Grid Agent #1]<----------------|---------->[Grid Agent #3]       :
-  :                       :         |         :                       :
-  : [Primary CLI Manager]---------->|         .........................
-  :                       :         |
-  .........................         |
-                                    |         ..Machine #4.............
-                                    |         :                       :
-                                    |         : [Sec. Web Manager]    :
-                                    |         :                       :
-                                    |         :      [Tomcat #4]      :
-                                    |         :        ^              :
-                                    |         :        |  [Tomcat #8] :
-                                    |         :        |    ^         :
-                                    |         :        |    |         :
-                                    +---------->[Grid Agent #4]       :
-                                              :                       :
-                                              : [Sec. CLI Manager]    :
-                                              :                       :
-                                              .........................
- }}}
  The Grid Agents are Java processes installed and running on each machine that 
 listen (on a configured port) for commands from a manager application (Web or  
CLI) and act upon them by interacting with the local Tomcat instances. No  
encryption is envisioned on the network channels, since all these machines are  
considered to be installed on a secured network segment (at least in prod).  
[Maybe we should reconsider this]
  
  All the Tomcat instances (including the Web Grid Managers), as well as the 
Grid  Agents, are installed manually. The primary grid manager and all the 
agents are  started manually too.
@@ -79, +36 @@

  Considering all the above, the following phases could be considered for on 
the  Tomcat Grid development.
  
  == Phase 1 - Core Grid Operation ==
- 
  The first phase includes the most basic features, in order to provide a  
functioning and useful first version of the Grid.
  
  In particular, no Tomcat instances or Grid Agents automatic provisioning is  
considered, no configuration GUI (only pre-configured XML config files), no WAR 
 deployments, no command-line interface, no complex grid operations, no  
secondary managers, and no collections.
@@ -136, +92 @@

   1. Simple user name/password authentication is implemented to secure the Web 
interface. [Maybe we'll need to provide more options]
  
  == Phase 2 - Manageable Grid Agents ==
- 
  This phase revamps the Grid Agents so they become manageable.
  
  Included features are:
@@ -156, +111 @@

   1. The mechanism to manage the grid agents is necessarily OS dependent. For 
example, in Linux it can be implemented using Bash commands though SSH. Most 
suitable mechanisms must be studied for each OS.
  
  == Phase 3. Secondary Managers ==
- 
  The functionality for configuration replication is added.
  
  Included features are:
@@ -168, +122 @@

   1. If the primary manager is down, secondary managers can distribute new 
configuration changes.
  
  == Phase 4 - Extended Service & Machine Information ==
- 
  This phase extends the status information of the whole grid beyond the basic 
data.
  
  Included features are:
@@ -188, +141 @@

    * File system space usage for the mount where the "webapps" dir is (can 
this be different per instance?).
  
  == Phase 5 - Command-Line Interface (CLI) ==
- 
  This phase provides a CLI manager interface for environments that cannot use 
the web interface.
  
  Included features are:
@@ -210, +162 @@

   1. Return codes must be strategically defined to allow automation. Well 
defined return codes can provide useful information to the caller 
program/process, so it can clearly identify the problem and act accordingly.
  
  == Phase 6 - Hooks ==
- 
  Extending the core operation of the grid services with custom logic.
  
  Included features are:
@@ -238, +189 @@

   1. When hooks are registered (maybe uploaded) on the Grid they are 
automatically distributed behind the scenes to all instances/machines before 
they are ready to use.
  
  == Phase 7 - Enhanced Grid Operation ==
- 
  Beyond the basic trigger operations, there's usually need for more complex 
ones, that provide very common needs but are seldom formally implemented.
  
  Included features are:
@@ -275, +225 @@

   1. The non-trigger commands show an update of the service state periodically 
(defaults to every 10s, and can be specified on the configuration file), and 
they keep working until the full operation completes.
  
  == Phase 8 - Simple Deployment ==
- 
  This phase implements War applications deployment and undeployment to the 
grid as a whole, or to specific Tomcat instances.
  
  Included features are:
@@ -289, +238 @@

   1. The status command is revamped so it now lists all war applications 
deployed on each instance.
  
  == Phase 9 - Application Version Management ==
- 
  The application versioning is like a deployment functionality on steroids.
  
  The Application Version Management may interfere with the simple Deployment 
as described before, since it manages web applications in a different manner. 
It needs to be studied if both modes are compatible and can work at the same 
time, or if both are mutually exclusive. If the latter, the user will need to 
choose which mode to use when setting up the grid.
@@ -353, +301 @@

    * '''post-link'''
  
  == Phase 10 - Collections ==
- 
  Collections are groups and sub-groups of services (instances and/or agents) 
that are managed together. Essentially, instead of issuing a command on a 
single service, you can now issue it onto a collection. The commands will now 
affect all services in the collection and will probably take longer to 
complete, since multiple operations are now needed to complete the whole 
command.
  
  Collections may group identical Tomcat instances or maybe Tomcat instances 
that do not serve the same purpose. For example, one subgroup of Tomcat 
instances may run the customer facing site (like an HTTP cluster), other group 
may run the back end site (maybe processing JMS queues), other group may be 
dedicated to serving or connecting to integration points.
@@ -386, +333 @@

   1. [To be analyzed and defined if it's useful or not] Collections editing 
through the Web interface. This can be useful to graphically update collections 
when machines/instances are added/removed.
  
  == Phase 11 - Instance Configuration ==
- 
  The Web interface adds functionality to specify Tomcat instances 
configuration from the centralized location.
  
  The CLI interface does not offer this functionality. [to be discussed]
@@ -404, +350 @@

    * Other instance configurations
  
  == Phase 12 - Instance Provisioning ==
- 
  This functionality removes the necessity of a manual setup of all machines 
and Tomcat instances of the Grid. After installing the first Tomcat instance 
and deploying the Web Manager, provisioning operations to local or remote 
machines can be performed through the web interface.
  
  Because of its nature, the implementation of the provisioning operations is 
heavily OS dependent.
@@ -449, +394 @@

   1. The provisioning operations require remote access to the new machine, and 
therefore some kind of connections needs to be setup. For example, an SSH 
connection could be used if the user provides the user name/password 
credentials or if if an ssh key exchange had been previously setup between the 
machines.
  
  == Phase 13 - Custom Commands ==
- 
  [To be described]
  
  == Phase 14 - Version Repository ==
- 
  [To be described]
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to