title: Correct way to set kotlin coroutine scope for backend app
body: <p>What is the correct way to set coroutine scope - </p>
  
  <p>1.Implementing scope</p>
  
  <pre><code>@Service
  class MyServiceImpl : MyService, CoroutineScope {
      private val job: Job = Job()
      override val coroutineContext: CoroutineContext
          get() = job + Executors.newFixedThreadPool(100).asCoroutineDispatcher()
      override fun get(): String {
          launch {....}
          return "Result"
      }}
  </code></pre>
  
  <p>`
  2. Without implementing </p>
  
  <pre><code>@Service
  class MyServiceImpl : MyService {
      private val scope = Executors.newFixedThreadPool(100).asCoroutineDispatcher()
      override fun get(): String {
          GlobalScope.launch(scope) {....}
          return "Result"
      }}
  </code></pre>
  
  <p>Or just use GlobalScope without any context??</p>