(Approximate) Riemann solvers are a way to account for upwinding and shock capturing in a conceptionally elegant manner.
However, they are somewhat involved and there other (simpler? older?) concepts around, which make use of