<p>There are local and remote components to interactively querying the state of your application.</p>
<dlclass="docutils">
<dt>Local state</dt>
<dd>An application instance can query the locally managed portion of the state and directly query its own local state stores. You can use the corresponding local data in other parts of your application code, as long as it doesn’t required calling the Kafka Streams API. Querying state stores is always read-only to guarantee that the underlying state stores will never be mutated out-of-band (e.g., you cannot add new entries). State stores should only be mutated by the corresponding processor topology and the input data it operates on. For more information, see <aclass="reference internal"href="#streams-developer-guide-interactive-queries-local-stores"><spanclass="std std-ref">Querying local state stores for an app instance</span></a>.</dd>
<dd>An application instance can query the locally managed portion of the state and directly query its own local state stores. You can use the corresponding local data in other parts of your application code, as long as it doesn’t require calling the Kafka Streams API. Querying state stores is always read-only to guarantee that the underlying state stores will never be mutated out-of-band (e.g., you cannot add new entries). State stores should only be mutated by the corresponding processor topology and the input data it operates on. For more information, see <aclass="reference internal"href="#streams-developer-guide-interactive-queries-local-stores"><spanclass="std std-ref">Querying local state stores for an app instance</span></a>.</dd>
<dt>Remote state</dt>
<dd><pclass="first">To query the full state of your application, you must connect the various fragments of the state, including:</p>