In Avro 1.8.2 (which is close to being released) we built a new feature that allows serializing Avro records into a byte array that still contains the schema information.
So even if you keep messages for weeks and the schema of your application changes you can still read the messages at the consumer side.