Hi, gang,
    I've made some tests and looked into the implementation of saga
recently. Currently, the alpha-server relies on some complex SQL queries
for compensation and status maintenance. I'm thinking if it is possible to
make some optimizations on this. We can replace the database with redis(or
any other mem db) to have a try, if it works, we can introduce a mem cache
between alpha-server and database, to improve the performance.

    We can store the Saga transactions with a key pattern and a hash value
in redis, scan the keys with pattern rather than complex SQL query, and
maintain a status of the transaction. Here is a pretty rough design(any
comment is welcome):

[image: saga-redis.jpg]

Reply via email to