I'm not suggesting that yelling is a good strategy, but if you never yell, and you yelled this time, it probably made quite an impression! It's good that he was able to hear you, and that you were yelling because you were being protective of him and not yelling at him for doing something that you were angry at him for, really, or something that's silly in the scheme of things (dishes on the table, clothes on the floor, ...). Being protective of him is a whole different thing. Give yourself a break - after you pull yourself together, apologize to him for how you expressed yourself, reiterate that you love him and want a positive, healthy relationship for him, and that you see him as a fabulous kid who is worthy of a truly good, reciprocal relationship. He knows that this came from love.
Just like our kids need to learn about reciprocal conversation, many of them need to learn about other kinds of reciprocal relationships. I'm not sure that we mothers are the best teachers for this, but if there's no one else to teach them, we have to!
If you're going to lose it over something, losing it over someone not valuing your child adequately is a great reason!