views:

39

answers:

1

I am developing a system that will provide many services, say, S1, S2, S3. Each of these services have a number of executables that will communicate using events, using protobuf.

My question is: Which one do you think is better design: (1) Combine all events for all the services (currently about 10-15) into one big my_events.proto definition, or (2) Keep them separate, i.e. s1_proto, s2_proto, etc.

Nice thing about (1) is that there's one proto file to worry about; downside is I'm linking the same large header file for all code.

Thanks!

+1  A: 

I'd go with separate definition files. If anything, because you can change each service individually without having to recompile/build the entire set; you can manage change histories better in CVS or whichever source code control tool you use; and it would perhaps be easier to lookup smaller files when you are working on the service implementations.

tholomew