43 karma · joined January 14, 2016
You could break up your transaction API into two parts - a front facing API that simply accepts a transaction and enqueues it for processing and one that actually performs the transaction in the background. The front facing API should have low complexity and rarely change. It can persist transactions in a KV store like Cassandra to maximize availability.
The backend API that performs the transaction can have higher complexity and can afford to have lower availability. From the client's perspective, you could either respond immediately (HTTP 200) or with accepted (HTTP 202). In either case the client will be happier than the transaction failing outright.
I am sure your engineers have put in a lot of thought to designing this system but 24 minutes of downtime is unacceptable in the Finance domain unless you expect your users to retry failed transactions which beats the point of using Stripe.
Edit: Can someone explain why am I being downvoted? Rather than downvoting, can you provide arguments that make sense?
Having worked with Cassandra & Redis extensively, this might work better with Cassandra. Cassandra already has sets, maps, list as datatypes and can be leveraged to build a CRDT without having to write a new database. Oh, well I'm guessing we're past that conversation? ;)
We can debate all we want but the reality is that China has progressed and its people have benefitted through better living standards. Now those people are investing in other countries creating jobs and improving living standards across poor countries. Weirdly enough one such beneficiary has been India and African countries. Just 5 years ago India could not domestically manufacture cell phones. Now there are over 260 factories with 95% of the phones being produced in the country. This has been a big benefit to India and its people.
Funny how that worked out?
I am not sure what counts as "stealing" in terms of IP. I am a firm believer in protecting IP but at the same time you cannot argue that freely sharing knowledge has its own benefits. IP laws (especially patents) need to be revisited to make sure they serve their purpose and reasonably help inventors benefit from their inventions.
Edit: I must also clarify that this goes both ways. The way Chinese don't end up sharing knowledge is bad. They also do not respect IP law and contracts which needs to drastically change. If they would have respected those and given a fair playing field for foreign companies, I don't think this would be a big issue today.
I would not be surprised if India announces ICBMs in the next 5 years. A country that can place 100s of satellites in space as well as place geostationary satellites, has the necessary rocket technology to build an ICBM. Just because they don't talk about it, doesn't mean they can't do it.
I think India is in the midst of adopting an active deterrence policy. Being passive hasn't yielded good results.
That is literally how databases work. In Memory + WAL + Data Files on disk. You could, in theory, live without the Data Files and just a big WAL.
I don't condone surveillance. It is a reality of life. However, I would expect that it is done responsibly and securely. I don't consider surveillance a big violation BUT doing a poor job at protecting the collected data is an egregious violation of privacy.
That said, this was expected. India's diplomacy and restraint has been tested time and time again. It has taken a page from Israel, US & Russia's book. India is only cleaning up the mess that Pakistan should've cleared on its side of the border.
People in glass houses should not be pelting stones.
How do you know they haven't already done exactly that?
As far as constitutional protections go, Indians have a right to privacy which has been held up in the courts as recently as this year. This has been affirmed several times in the recent past. So, no, India does not have weak protections for its citizens.
Finally, India is a place where mere WhatsApp forwards on the basis of rumors or made up stories cause people to go out and riot. Communal violence can be instigated using such means. So such laws are essential to track down the perpetrators.
NSA, CIA also silently spy on Americans without much oversight in the name of security. In fact it is done at a mass scale.