1. A computer implemented method for dynamic component placement in an event processing system that has at least one producer, at least one consumer, a plurality of nodes and a plurality of links between the at least one producer and the at least one consumer, and a flow graph that represents a plurality of computational components to be executed between the at least one producer and the at least one consumer, the computer implemented method running, in a decentralized manner without requiring any global state or centralized controller, on the plurality of nodes of the event processing system, comprising: receiving a description of at least one change to the event processing system; identifying, at each node of the plurality of nodes, a plurality of next-hop neighbor nodes for each at least one consumer; assigning a routing value to each of the identified plurality of next-hop neighbor nodes for each at least one consumer to form routing values; estimating, using the routing values in a context of the at least one change to the event processing system, a performance cost of the event processing system based on at least one hypothetical changed placement of the computational components of the flow graph at nodes along at least one path from a producer to a consumer through the next-hop neighbor nodes for each at least one consumer; and responsive to the estimating, selecting a changed placement of the computational components of the flow graph that minimizes the performance cost of the event processing system relative to the at least one hypothetical changed placement.