Not all contracts are for eight years... If you're ROTC, then yes, it is an eight year contract. I've never heard of a two year active duty contract before though, the shortest I've heard of was a three year contract.
You're going to get your best answer, I think, from either military personnel you personally know or recruiters. If you don't know any military, I'd recommend the latter. Or finding a handbook on contracts.