Creación de un canal de comunicación entre componentes en Angular

Así que tengo dos componentes, CompA y compA5, que están separados por 3 o 4 niveles, quiero crear un canal de comunicación entre los componentes.

Digamos que desde el componente CompA quiero enviar un evento a compA5 para devolver algunos datos, esperar a que devuelva datos y luego tomar alguna medida. ¿Es posible crear un servicio o cualquier otra práctica recomendada para lograr este tipo de comportamiento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta