Good for you for thinking about this now!
There's not really an alternative. If you don't start now, you'll still be sleepless when he's 5. You might start with his day time routine rather than night time. The routine that worked for us for sleep training was sleep, eat, play. You start by setting a first morning feeding to begin the cycle of sleep, eat, play. Then you make sure he stays awake after each feeding. Do what you can to keep him awake for even 10 minutes (30 min is better, but you can work up to it). Just focus on that for a while. Once you get the daytime routine straightened out, he may naturally fall into a better pattern at night so you can get some rest! The only time you DON'T keep him awake after a feeding is at night. At night you'll feed him, kiss him goodnight, and put him back in his bed. As long as you're not having diaper leaks, you might not even want to change his diaper.
Keep in mind that nursing does make things a little bit different. He may not be able to go more than 8 hours at night until you're done nursing, but he should easily be able to sleep for 6 hours (so, if bed time is 8, you might expect to feed him again at 2am, but he should go right back to sleep).
Establishing good sleep habits now means you're giving him a great skill for life! A well-rested child is more pleasant to be around, has a good metabolism, thinks more clearly, learns better, etc. It may be hard to be consistent, but you need to remind yourself that this is "short term pain for long term gain." Crying doesn't mean his feelings are hurt or that he's not loved or very well cared for. It's obvious from your post that he's a much loved baby. And he won't even remember this. He's not going to turn around one day when he's 10 and say to you, "I can't believe you sleep trained me when I was a baby. I hate you for my full night's sleep. I'd rather be over-tired and strung out."