Absolutely you are on the right track considering a servo system!
But be very careful to define the cycle, load inertia, etc., VERY well; there is a LOT of variation in servo response capabilities!
For instance, we work daily with AC servo drives in the size you are talking about, capable of 800hz velocity loop bandwidth; not many, if any, other AC servo drive is capable of this (yet). Most work well up to about 100hz area. You are asking for a maintained constant speed with some undefined (as yet) sine/triangle/step? torque disturbance 1/rev @ 1800rpm, 30 times/sec, or a full cycle every 33 msec or less. And you want to be able to match that torque disturbance closely, so assume you are willing to accept only 10 'corrections' during that cycle, you are asking for a velocity loop response of 300hz or more.... You will require a VERY good servo system to accomplish this. Now if you were running only 180 rpm, any old servo would likely do.
We had an application similar to this where we were to simulate cam shaft loading for an engine test stand - again running at these type speeds. So a torsional torque was put into the servo each rev, and I must say, it was very nearly undo-able without overheating the servo motor! What appeared on the surface as a simple application like this had a lot of bandwidth requirement!
In addition, you do not say what your system inertia is. Since T=jw/t, where Torque required to move an inertia of j over a speed change of w rad/sec in time t, understanding total inertia is critical to determine your response need. In your application inertia may be your friend - or your enemy, depending exactly on what you are doing.
I would recommend you pass your specifics by some of us who help design such systems; besides, it is a free service a lot of us provide!