Meyer progressed through Schalke's youth ranks to make 192 appearances for the German side, including three UEFA Champions League campaigns.
Between his first-team bow in 2013 and his departure, Meyer netted 22 goals and provided 24 assists for the Ruhr club, helping them to finish runners-up in last season's Bundesliga table.
"I feel really good and I'm happy to be here," Meyer told the Palace website. "I can't wait to start training with the team and I hope I'll have a good season.
"I'm proud to be here and I hope I can make the next step in my career. I want to give my best and I think we can have a good season - maybe better than the last.
"I played at Selhurst Park last season for Schalke and the atmosphere was perfect, and I can't wait to experience the atmosphere for a Premier League game."
Meyer helped Germany win a silver medal at the 2016 Olympics before clinching the UEFA European Under-21 Championship, where he was named in the team of the tournament, the following year.