Add bacon and 1/2 cup of the water to a large non-stick skillet and bring to a simmer over medium-high heat.
Allow to simmer until water evaporates about 6 - 7 minutes, then reduce heat to medium-low and continue to cook until bacon is brown and crisp, about 6 - 8 minutes longer.
Place a fine mesh strainer over a bowl then pour bacon into strainer while reserving about 1 tsp of the rendered fat in pan. Return pan to heat and saute garlic about 30 seconds, until fragrant and lightly golden.
Pour into a medium mixing bowl then add 1 Tbsp rendered bacon fat (drippings in bowl set under strainer) to mixing bowl with garlic. Add eggs, egg yolk, parmesan and pepper to garlic mixture and whisk until well combined.
Meanwhile, bring 8 cups of water to a boil in a large dutch oven (no more than 8 cups because you want a very starchy water for the sauce). Add spaghetti and salt to boiling water and cook until al dente. While pasta is boiling, set a colander in a large bowl.
Carefully drain al dente pasta into colander in bowl, while reserving pasta water in bowl. Measure out 1 cup hot pasta water and discard remaining water. Immediately place pasta in now empty large bowl.
Slowly pour and whisk 1/2 cup pasta water into egg mixture, then slowly pour mixture over pasta while tossing to coat. Add bacon and toss to combine. Season with salt if desired.
Let pasta rest, tossing frequently, 2 - 4 minutes until sauce has thickened slightly and coats pasta. Thin with remaining 1/2 cup hot pasta water as needed. Serve immediately topped with additional parmesan and parsley.
Notes
Use real Parmigiano Reggiano cheese for fresh flavor and only freshly grated. It will melt better and gives this dish a richer flavor. I like to use a zest to grate it. Slightly pack when measuring or use a kitchen scale.
Be sure you immediately add the hot pasta water into the egg mixture to help cook it (if needed, you could even re-warm the water it in the microwave, but it needs to be very hot).
If you want a thicker sauce another option I have tried is to toss the pasta with the sauce mixture in a large heat proof bowl set over a pot of simmering water, cooking for only about 1 minute or just until thickened nicely. Careful not to overdue it or it can be gluey.