In a liquid propellant rocket, how is the quantity of propellant controlled? - for two purposes. One for achieving the required "ratio" of propellants, and 2nd, to control the thrust of the engine. Do we have separate turbo pumps for Fuel & Oxidizer? so that by changing the RPM of these pumps independently, the individual quantity of propellant can be varied. Or do we have electrically operated "proportional flow control valves" in the respective tubing? - In either case we would also need to have a flow value feedback mechanism to ensure accuracy - correct?
Modern engines have digital control computers that monitor the engine and adjust valve settings to achieve the desired performance.
While not especially modern, the Space Shuttle Main Engine (SSME) had such a digital controller, as do the "modernized" RS-25 versions that are installed on the Space Launch System's core stage.
The SSME had two control loops, one for thrust (i.e. chamber pressure) and one for mixture ratio. The output of each loop set the position of a valve that controlled the speed of one of the engine's high-pressure turbopumps. The thrust loop controlled the oxygen turbopump and the mixture ratio loop controlled the fuel turbopump. They worked together to get the desired thrust and mixture ratio.
The input to the thrust control loop was the combustion chamber pressure. The input to the mixture ratio control loop was the mixture ratio...sort of. Rocketdyne was unable to build a flowmeter that would work reliably in the high pressure / high flow oxygen environment. So the mixture ratio was derived from the measured value of the fuel flow, pressure, and temperature, and a computed value of the oxygen flow (based mainly on the combustion chamber pressure). (This latter control scheme led directly to some of the engine's rather non-intuitive responses to malfunctions.)