I use a combination of Cookies for Comments (https://wordpress.org/plugins/cookies-for-comments/ - it really shold just be a part of core to be honest) and Akismet - with those two active I get zero spam, but then I don't have a massive amount of visitors, so it's a bit easier for me to solve I think :)