Designing Data Intensive Applications has treated me well, getting me through pretty much every system design interview I have had. I am going to move onto either * O'Rielly Designing Distributed Systems or * O'Rielly Architecture Patterns with Python Could anyone recommend either one? I am mainly a Python dev (with no particular love for Python), but that doesn't necessarily make me want to use the Python book more.…
O’Reilly Building Event-Driven Microservices is a solid book to continue. I would not recommend Architecture Patterns with Python. Some patterns there are questionable and introduce more complexity. Also, they talk about using Kafka and Service Bus in the book, but never mention an important issue you may face in real implementation: consistency in updating both a message bus and a database that usually is addressed…
Ask HN: Best books on modern distributed systems
11–20 of 23 posts
Re: Ask HN: Best books on modern distributed systems
#12Designing Data Intensive Applications has treated me well, getting me through pretty much every system design interview I have had. I am going to move onto either * O'Rielly Designing Distributed Systems or * O'Rielly Architecture Patterns with Python Could anyone recommend either one? I am mainly a Python dev (with no particular love for Python), but that doesn't necessarily make me want to use the Python book more.…
O’Reilly Building Event-Driven Microservices is a solid book to continue. I would not recommend Architecture Patterns with Python. Some patterns there are questionable and introduce more complexity. Also, they talk about using Kafka and Service Bus in the book, but never mention an important issue you may face in real implementation: consistency in updating both a message bus and a database that usually is addressed…
Re: Ask HN: Best books on modern distributed systems
#13Earlier quoted context omitted.
O’Reilly Building Event-Driven Microservices is a solid book to continue. I would not recommend Architecture Patterns with Python. Some patterns there are questionable and introduce more complexity. Also, they talk about using Kafka and Service Bus in the book, but never mention an important issue you may face in real implementation: consistency in updating both a message bus and a database that usually is addressed…
What do you think of avoiding implementing Outbox by just having things like Kafka Connect subscribe to the table changes in the database?
Re: Ask HN: Best books on modern distributed systems
#14Earlier quoted context omitted.
What do you think of avoiding implementing Outbox by just having things like Kafka Connect subscribe to the table changes in the database?
One thing would be that you then are just syncing database as opposed to sending domain events, aren't you?
It sounds roundabout, but you're letting a battle-tested implementation handle the database-table-listening aspects with no special outbox implementation needed on the database write.
Re: Ask HN: Best books on modern distributed systems
#15Earlier quoted context omitted.
O’Reilly Building Event-Driven Microservices is a solid book to continue. I would not recommend Architecture Patterns with Python. Some patterns there are questionable and introduce more complexity. Also, they talk about using Kafka and Service Bus in the book, but never mention an important issue you may face in real implementation: consistency in updating both a message bus and a database that usually is addressed…
What do you think of avoiding implementing Outbox by just having things like Kafka Connect subscribe to the table changes in the database?
Also, the messages produced reflect database changes, not domain events. I would prefer to have an explicitly defined interface layer for consumption. At least, use database views as contracts with Kafka Connect.
Re: Ask HN: Best books on modern distributed systems
#16Earlier quoted context omitted.
One thing would be that you then are just syncing database as opposed to sending domain events, aren't you?
Good point, but you could have the sender/pusher process read from Kafka Connect and parse into a domain event before pushing. It sounds roundabout, but you're letting a battle-tested implementation handle the database-table-listening aspects with no special outbox implementation needed on the database write.
Re: Ask HN: Best books on modern distributed systems
#17Earlier quoted context omitted.
One thing would be that you then are just syncing database as opposed to sending domain events, aren't you?
Good point, but you could have the sender/pusher process read from Kafka Connect and parse into a domain event before pushing. It sounds roundabout, but you're letting a battle-tested implementation handle the database-table-listening aspects with no special outbox implementation needed on the database write.
Re: Ask HN: Best books on modern distributed systems
#18Earlier quoted context omitted.
One thing would be that you then are just syncing database as opposed to sending domain events, aren't you?
Good point, but you could have the sender/pusher process read from Kafka Connect and parse into a domain event before pushing. It sounds roundabout, but you're letting a battle-tested implementation handle the database-table-listening aspects with no special outbox implementation needed on the database write.
Re: Ask HN: Best books on modern distributed systems
#19Earlier quoted context omitted.
Good point, but you could have the sender/pusher process read from Kafka Connect and parse into a domain event before pushing. It sounds roundabout, but you're letting a battle-tested implementation handle the database-table-listening aspects with no special outbox implementation needed on the database write.
How do you handle domain events that are the composition of columns of different tables?
Re: Ask HN: Best books on modern distributed systems
#20Designing Data Intensive Applications has treated me well, getting me through pretty much every system design interview I have had. I am going to move onto either * O'Rielly Designing Distributed Systems or * O'Rielly Architecture Patterns with Python Could anyone recommend either one? I am mainly a Python dev (with no particular love for Python), but that doesn't necessarily make me want to use the Python book more.…