I really feel for you - my very first mumsnet post was along these lines, and I have posted others since.
I too know what it is like to come home from playgroup and burst into tears (didn't always make it home, tbh, have blubbed at several local playgroups!), to feel that other mums are judging you, to think people don't like your child and to wonder how the other mums just get to sit around chatting and drinking tea, not even needing to really keep much of an eye on their children!
My DS1 was a shover from quite an early age, and carried on being so for quite a long time (sorry), although it would wane at times, then come back, then wane again. I was constantly on edge at soft play, park, playgroups etc. and, like you, seriously considered not going to those things because it was so stressful. But I figured that he'd never learn if he didn't interact with others and so carried on going...
All I can say is that it got better. Slowly. He is now 3.7 and generally fairly civilised. He has reverted a bit recently as there have been a few changes - he is doing more hours at pre-school than before, and our lovely nanny (I work part-time) has left and we have a new one - also lovely, but DS1 hates change, so I knew it would be a bit bumpy. But I am losing the fear that he will inevitably do something awful when we are out. I also try to react less now - obviously you have to be seen to be doing something if your child has biffed another child, but I try to ignore and/or distract as much as possible.
How to Talk So Kids Will Listen also helped me a lot. Shouting makes things worse with my DS1. Getting him out for a good run around helps a lot - would often try to do this before playgroups, as have found they can be quite crowded, not much room to move freely, which I think he finds frustrating.
I have also become aware that he is actually quite sensitive to lots of people and noise, so if playgroup is really busy, I tend to head for a quiet corner with books or lego, or just leave and do something else.
No real words of wisdom in there, sorry - just tons of sympathy (will probably need some myself soon, as DS2 just approaching toddlerdom!) and solidarity. Don't lock yourself away from others, just hold your head up and get in there. Stiff upper lip and all that. Hope your friend is sympathetic - I have sometimes found that mums with quiet, placid children just don't really get it - how tiring it can be, how stressful and how mortifying when someone else's child is howling because of something your child has done.
Be calm and consistent. It will pass. But it might take some time.