I'm still a bit new to rxjs in Angular 5 and it a bit hard to formulate my question. Still I hope for some tips.

I often end up with the same setup:

* Multiple Components to display the same data
* A single Service to access the data

Now I have 2 options when receiving data via Observables:

a) Subscribe to an observable to get data once, and subscribe again to get updates

b) Subscribe to an observable and always get updates when data changes

a) ist straight forward, but with b) I often have troubles and wondering if this is the right way to use Observables.

One issue is, that unsubscribe gets important in some cases, and missing the unsubscribe leads to serious garbage being executed with each update of the observable.

On the other hand, with option a) I might miss some updates in one component when another component is updating the underlying data.

Is there any best practice to avoid all these pitfalls?