Mar 17, 2009 at 10:52 PM
How is the persistence feature intended to be used? Would it be enabled for only a few event types? What is the file copying configuration stuff intended for?
Mar 17, 2009 at 11:16 PM
The way we use the persistence is to log the events to a sequential file and then bulk copy them into SQL. We are dealing with very high rates of events so bulk copying is necessary to get them into SQL because you can't afford to insert one event at a time into SQL and get any perf. In the Router's config file, you specify the event types you want to log. Depending upon your event rate you can have a single server where you log all the events of that type for all the servers or you can configure the Router to only log the events of that type that are published on only that server. If you have very high rates of events then to scale you log them on a per server basis and then copy the log file to a common server where you could bulk copy the files into SQL.

So when you configure the Router for logging, you define what event type, whether the logging is local only or global, what directory to use for creating the file, what directory to copy the file to when it's been finished, and how often you want to start with a fresh file. You can of course have many lines in the config file defining logging for many event types.

BTW, the persistence settings in the Router's config file are the only config settings that you can change dynamically without restarting the service.