[ 
https://issues.apache.org/jira/browse/STORM-2823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16258463#comment-16258463
 ] 

Stig Rohde Døssing commented on STORM-2823:
-------------------------------------------

Storm is a fail-fast system, which means that if anything goes wrong in a 
worker (a user's bolt throws an exception for instance), the worker is killed. 
If you run all your topologies in the same process the effect would be that all 
topologies die whenever any topology experiences an error. 

Why not just use a bolt to split your input from the spout based on object 
type, or have one spout per object type? Then you can have different bolts for 
different object types running in the same topology.

> Ability to have an option to combine topologies at run time in a single 
> process space
> -------------------------------------------------------------------------------------
>
>                 Key: STORM-2823
>                 URL: https://issues.apache.org/jira/browse/STORM-2823
>             Project: Apache Storm
>          Issue Type: New Feature
>          Components: storm-core
>    Affects Versions: 1.0.1
>         Environment: CentOS 7, Docker
>            Reporter: Anton Alfred
>
> Unlike an API server which service multiple APIs within the same process 
> space, the Topologies needs to run in separate processes.
> Lets say we have Topology TP-1 which use 1 GB of memory.
> Now we create the same for n Topologies of TP-1..... TP-n
> As the topologies increase the memory allocation is now multiplied by the 
> number of topologies.
> This design though scalable is not similar to the API route we have before 
> which was within the same process space.
> So in a micros services world, each topology would be responsible for a 
> similar set of objects, like employee, customer, product, order, order 
> details etc.
> As the number of topologies increase the worker allocation is not sufficient. 
> Most topologies are not utilized fully but since these are in different 
> process space the memory allocated can't be used.
> If we have an ability to say that TP-1 --- TP 10 Can run within the same 
> process space but behave like individual topologies we could conserve the 
> resource usage.
> Now user are forced to combine topologies to the hardware provided with "if" 
> logics to route the correct object that needs to be processed.
> This way one can still configure topologies as API in the same API server and 
> reuse resources collectively for related group of topologies acting as micro 
> services.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to