Hacker News new | past | comments | ask | show | jobs | submit login

When I did billing at yahoo, about a decade ago, the European billing system (Yahoo had about ten billing systems at the time, thanks to a combination of turf wars and acquisitions) was built almost entirely around a job management system in an RDBMS, where every little thing that was done (issue an invoice; charge a credit card; refund etc.) would be a result of a process picking up the next applicable job, look at the state, decide what the next step was, process, log what was done, and update state.

Nothing fancy anywhere, which is how it should be (it was billing; we were processing millions of dollars of payments).

The nice thing about a proper job management system was that each state transition on a job was logged, and every state transition was the result of executing a quite small amount of code with a quite small amount of input data, so if/when anything went wrong, it was a matter of going through the audit trail until something didn't match up, and it means we knew what component had done something wrong, and what data it had been processing.

Wherever you can afford that overhead (or can't afford not to take that overhead), it makes things so nice to deal with.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: