Sachverhalt: A. A._ meldete sich im November 2000 unter Hinweis auf ein am 9. Mai 1996 durch einen Autounfall erlittenes Beschleunigungstrauma der Halswirbelsäule bei der Invalidenversicherung zum Leistungsbezug an. Die IV-Stelle des Kantons Zürich sprach ihr mit Verfügungen vom 24. Oktober 2006 ab April 2001 eine Rente unterschiedlicher Höhe, zuletzt ab Dezember 2005 eine unbefristete halbe Rente, zu. Diesen Anspruch bestätigte die Verwaltung revisionsweise mit Mitteilungen vom 30. Juli 2008 und 18. Oktober 2010. Im Rahmen einer weiteren, im Jahr 2014 eingeleiteten Revision liess die IV-Stelle die Versicherte durch das ABI, Ärztliches Begutachtungsinstitut, Basel begutachten (Expertise vom 16. August 2016 [Fachrichtungen: Allgemeine Innere Medizin, Psychiatrie, Orthopädie und Neurologie] und Stellungnahme vom 25. August 2017). N ach durchgeführtem Vorbescheidverfahren hob sie die laufende Rente mit Verfügung vom 27. März 2018 mit dem ersten Tag des zweiten Monats nach Zustellung der Verfügung auf. B. Die dagegen erhobene Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 16. Mai 2019 ab. C. A._ führt Beschwerde in öffentlich-rechtlichen Angelegenheiten mit den Rechtsbegehren, der Entscheid vom 16. Mai 2019 sei aufzuheben, und es sei festzustellen, dass sie auch nach April 2018 weiterhin Anspruch auf die bisherige halbe Rente habe; eventualiter sei die Sache zu ergänzenden Abklärungen und neuem Entscheid an die Vorinstanz resp. die Beschwerdegegnerin zurückzuweisen.