anchor.diff:  
   == Interactive Queries
   
  -As part of the public Kafka Streams binder API, we expose a class called `QueryableStoreRegistry`. You can access this 
  -as a Spring bean in your application. An easy way to get access to this bean from your application is to "autowire" the bean 
  -in your application.
  +As part of the public Kafka Streams binder API, we expose a class called `InteractiveQueryService`.
  +You can access this as a Spring bean in your application. An easy way to get access to this bean from your application is to "autowire" the bean.
   
   [source]
   ----
   @Autowired
  -private QueryableStoreRegistry queryableStoreRegistry;
  +private InteractiveQueryService interactiveQueryService;
   ----
   
   Once you gain access to this bean, then you can query for the particular state-store that you are interested. See below.
  
positive.code: 
  == State Store
  
  State store is created automatically by Kafka Stream when Streas DSL is used. When use processor API, in case you want to
  create and register a state store manually, you can use `KafkaStreamsStateStore` annotation. You can specify store name,
  type, whether to enable log, whether disable cache, etc, and those parameters will be injected into KStream building
  process in Kafka Streams binder to create and register the store to your KStream. After that, you can access the same way
  how you access in normal Kafka Streams code.
  
  Creation code:
  [source]
  ----
  @KafkaStreamsStateStore(name="mystate", type= KafkaStreamsStateStoreProperties.StoreType.WINDOW, lengthMs=300000)
  
negative.code: [source]
  ----
  ReadOnlyKeyValueStore<Object, Object> keyValueStore =
  						interactiveQueryService.getQueryableStoreType("my-store", QueryableStoreTypes.keyValueStore());
  ----
  
  If there are multiple instances of the kafka streams application running, then before you can query them interactively, you need to identify which application instance hosts the key.
  `InteractiveQueryService` API provides methods for identifying the host information.
  
  In order for this to work, you must configure the property `application.server` as below:
  
  [source]
  ----
  spring.cloud.stream.kafka.streams.binder.configuration.application.server: <server>:<port>
  ----
  
  Here are some code snippets:
  
  [source]
  ----
  org.apache.kafka.streams.state.HostInfo hostInfo = interactiveQueryService.getHostInfo("store-name",
  						key, keySerializer);
  
  if (interactiveQueryService.getCurrentHostInfo().equals(hostInfo)) {
  
      //query from the store that is locally available
  }
  else {
      //query from the remote host
  }
  ----
  