title: Where to manage session in microservices architecture with Spring Boot
body: <p>I am fairly new in microservices architecture. I've been trying to build a microservices stack using Spring Boot, Spring Cloud and Netflix OSS libraries. 
  I want to know what is the correct way and place to store session.</p>
  
  <p>Here is an overview of the infrastructure that I created:</p>
  
  <ol>
  <li>OAuth2 backed Authorization/Authentication Server</li>
  <li>UI Service (Spring Boot, Front end service)</li>
  <li>Backend Service-1</li>
  <li>Backend Service-2</li>
  <li>Redis Server to store session and other cachable data</li>
  <li>Discovery Server (eureka)</li>
  </ol>
  
  <p>Currently, I'm trying to store session in Redis by configuring UI service to perform it. It seems to be working fine, although I haven't had the chance to try it for multiple service instances. However, I'm already having serialization/deserialization issues while developing. 
  By the way, trying to store the session on front end app is the correct place to do or it should be done in Authorization/Authentication service as authentication is processed in that service? </p>
  
  <p>Here is my Session config in UI service (front end service)</p>
  
  <pre><code>@Configuration
  @EnableRedisHttpSession
  public class SessionConfig extends 
  AbstractHttpSessionApplicationInitializer {
  
      public SessionConfig() {
          super(RedisConfig.class);
      }
  }
  </code></pre>
  
  <p>To sum up, I'm expecting to achieve and use best practices on this project. Your kind assistance would be appreciated.</p>