Firstly, don't worry about it. I know it looks very alarming but it really is normal. My ds was exactly the same, when he was three and four, though coming up to his fifth birthday these episodes were really tailing off.
It is quite alarming but honestly, most kids do this at some time or other.
I think it is all part of natural, normal development - children have to learn how to govern their feelings and at 3 they can't quite do it yet because
A) they have not quite developed the side of our personality which we need to help us be social beings - concern for others and a consciousness of our own behaviour
B) they can only learn by experience, so they have to go through this in order to learn
The key I found was to really, really pick battles, so that you are not always saying no and hardly ever have to punish. At this age (and well, up to now really ) I have never 'punished' my ds - if he's doing something he shouldn't I would stop him, take it away from him, or take him away from the situation. That has been enough.
If a tantrum was really going on and on, and general ignoring (which I think is the best way to deal with them) wasn't working, I would eventually (a few times) put ds in his room for time out, not as punishment but because it was one way of helping to change the mood and end the tantrum.
Remember you are not responsible for stopping his tantrum - that's not actually possible for you to do, only he can do that.
I sometimes said to ds that I was sorry he felt so awful - I think that helps, if they feel you understand how horrible it feels.