Running out of file handles and other IO limits is embarrassing and happens at every company, but I’m surprised that AWS was not monitoring this. I’m also surprised at the general architecture of Kinesis. What appears to be their own hand rolled gossip protocol (that is clearly terrible compared to raft or paxos, a thread per cluster member? Everyone talking to everyone? An hour to reach consensus?) and the front end…
Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
71–80 of 153 posts
Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#72Earlier quoted context omitted.
I led the storage engine prototyping for Kinesis in 2012 (the best time in my career so far). Kinesis uses Chain Replication, a dead simple fault tolerante storage algorithm: machines formed a chain, data flow from head to tail in one direction, writes always start at head, and read at tail, new nodes always join at tail, but nodes can be kicked out at any position. The membership management of chain node is done thr…
Can you explain why the sequence numbers are so giant? I've never understood that.
It was chosen for future expansion. Kinesis was envisioned to be a much larger-scale Kafka + Storm (storm was the streaming programming framework popular in 2012, it was since falls out of favor).
Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#73How does the architecture of Kinesis compare to Kafka? If you scale up the number of Kafka brokers can you hit similar problem? Or does Kafka not rely on creating threads to connect to each other broker
This goes a bit more in-depth: https://jaceklaskowski.gitbooks.io/apache-kafka/content/kafk...
Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#74Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#75> the new capacity had caused all of the servers in the fleet to exceed the maximum number of threads allowed by an operating system configuration. [...] We didn’t want to increase the operating system limit without further testing Is it because operating system configuration is managed by a different team within the organization?
Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#76Earlier quoted context omitted.
Can you explain why the sequence numbers are so giant? I've never understood that.
I dont remember the size, is it 128bits? It was chosen for future expansion. Kinesis was envisioned to be a much larger-scale Kafka + Storm (storm was the streaming programming framework popular in 2012, it was since falls out of favor).
Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#77Earlier quoted context omitted.
Oof. My little company is refactoring some five year old architecture design choices. Ugly. Process isn't visible outside the refactor and the work is tedious. Can't imagine what a service refactor is like at A. I bet it sucks
> Can't imagine what a service refactor is like at A. I bet it sucks It's not all that hard. AWS heavily focuses on Service Oriented Architecture approaches, with specific knowledge/responsibility domains for each. It's a proven scalable pattern. The APIs will often be fairly straight-forward behind the front end. With clearly lines of responsibility between components, you'll almost never have to worry about what ot…
Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#78Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#79That should be tested at least quarterly (but preferably automatically with every build).
If Amazon did that, this outage would have been reduced to 10 mins, rather than the 12+ hours that some super slow rolling restarts took...
Re: Summary of the Amazon Kinesis Event in the Northern Virginia (US-East-1) Region
#80Running out of file handles and other IO limits is embarrassing and happens at every company, but I’m surprised that AWS was not monitoring this. I’m also surprised at the general architecture of Kinesis. What appears to be their own hand rolled gossip protocol (that is clearly terrible compared to raft or paxos, a thread per cluster member? Everyone talking to everyone? An hour to reach consensus?) and the front end…