title: hystrixCommand annotation - what is purpose of commandKey
body: <p>Using spring's Hystrix annotation <a href="https://github.com/Netflix/Hystrix/tree/master/hystrix-contrib/hystrix-javanica" rel="noreferrer">described here</a></p>
  
  <p>I want to know what the commandKey param is.  In the following context i want to know what this parameter means:</p>
  
  <pre><code>   @HystrixCommand(groupKey="UserGroup", commandKey = "GetUserByIdCommand")
  public User getUserById(String id) {
      return userResource.getUserById(id);
  }
  </code></pre>
  
  <p>notice the commandKey here is defined as GetUserByIdCommand , does this have anything to do with thread pools ? Does it mean that anything with that command key uses the same thread pool and if so does that mean that its good practice for every single method i have with a failback to have its own commandKey ?</p>
  
  <p>I have about 8 classes that i want to annotate methods within. I will annotate a few of the class methods with this but im wondering how to structure the commandKeys ? should i use all the same ones , or same per class or all unique etc. </p>