THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Make sure consistent semantics between the term application (user space) and topology (physical space only)
- Topology should read configuration from TopologyDescService#config instead of configuration fileconfiguration can be edited on UI
- Use REST Service as only entry to manage application (START/STOP/HEALTH CHECKING) and ApplicationManager to schedule the task execution and update the execution information
- Eagle UI should support to manage/monitor the application on site/application page
- Single site/application may have more than one topologies (for example hdfsAuditLogMonitoring and userProfileMonitoring should have topologies running separately)
...
Topology Description Service
- Service name: TopologyDescServiceTopologyDescriptionService
- Entity: TopologyDescriptionEntity
- Table name: eagle_metadata
- Prefix: topology_definitiontopologyDescription
Attribute | Type | Description | |||||
---|---|---|---|---|---|---|---|
tage | topology | String | topology desc name | ||||
fields | exeClass | String | topology entry class | ||||
type | String | topology type: build-in topology or main-class topology | config | String | topology configDSL or CLASS | ||
description | String | description on this topology | |||||
version | String | topology version |
...
- Service name: TopologyExecutionService
- Entity: TopologyExecutionEntity
- Table name: eagle_metadata
- Prefix: topology_executiontopologyExecution
- Description: define the relation between an application and an topology, and maintain the execution status as well
Attribute | Type | Description | |
---|---|---|---|
tags | site | String | topology site |
application | String | topology application | |
topology | String | topology desc name | |
fields | namefullName | String | topology execution name: eagle_${site}_${application}_${topology} | fields
url | String | topology tracking url | |
deploydescription | String | deploy environment topology running status description | |
status | String | application running status {NEW, STARTING, STOPPING, STARTED, STOPPING, STOPPED} | |
mode | String | topology running mode: cluster or local | |
environment | String | topology execution environment, e.g., storm | |
lastUpdateTimelastModifiedDate | long | last status update time |
Topology Operation Service
- Service name: TopologyOperationService
- Entity: TopologyOperationEntity
- Table name: eagle_metadata
- Prefix: topologyOperation
Attribute | Type | Description | |
---|---|---|---|
tags | commandoperation | String | {START, STOP, STATUS} |
site | String | ||
application | String | ||
operationID | String | ||
topology | String | application topology name: eagle_${site}_${application}_${topology} | |
fields | status | String | {INITIALIZED, PENDING, FAILED, | DONE}
Use Cases in BPMN diagram
1. user define a topology entity
...
SUCCESS} | |||
message | String | exception message | |
lastModifiedDate | long | last status update time |
Customized Restful Apis
HTTP Method | URL | Payload | Description |
---|---|---|---|
POST | /app/operation | TopologyOperationEntity | create an topology operation |
DELETE | /app/topology/{topology} | delete a topology description |
2. user add multiply topologies to an application
...
3. user start/stop a topology
...
4. Edit topology configuration
5. Periodically check/update topology healthy status
6. Edit deployment cluster?
...