Week 34, year 2020
- photostream 124 - Two Ocean Lake Trail, Grand Tetons N.P., WY (2011) [Martin Fowler]
- Distributed Systems Pattern: Singular Update Queue - When the state needs to be updated by multiple concurrent clients, we need it to be safely updated with one at a time changes. Generally locks are used to protect against concurrent modifications. But if the tasks being performed are time consuming, like writing to a file, blocking all the other calling threads until the task is completed can have severe impact on overall system throughput and latency. It is important to make effective use of compute resources, while still maintaining the guarantee of one at a time execution. more… [Martin Fowler]
- Distributed Systems Pattern: Request Pipeline - Communicating between servers within a cluster using Single Socket Channel can cause performance issues if requests need to wait for responses for previous requests to be returned. To achieve better throughput and latency, the request queue on the server should be filled enough to make sure server capacity is fully utilized. more… [Martin Fowler]
- Distributed Systems Pattern: Single Socket Channel - When we are using Leader and Followers, we need to ensure that messages between the leader and each follower are kept in order, with a retry mechanism for any lost messages. We need to do this while keeping the cost of new connections low, so that opening new connections doesn't increase the system's latency. A Single Socket Channel maintains the order of the requests sent to a server by using a single TCP connection more… [Martin Fowler]
- A brief review of the Kinesis Advantage2 ergonomic keyboard - About three-and-a-half years ago I bought a Kinesis Advantage2 ergonomic keyboard. This tool isn't cheap, and it's rather unusual in its layout. But I use a keyboard all day, so I wanted one that maximized my comfort and enjoyment at my work. I've found it a worthwhile investment. more… [Martin Fowler]
- Distributed Systems Pattern: Low-Water Mark - The write ahead log maintains every update to persistent store. It can grow indefinitely over time. Segmented Log allows dealing with smaller files at a time, but total disk storage can grow indefinitely if not checked. A Low-Water Mark acts an index in the write ahead log showing which portion of the log can be discarded. more… [Martin Fowler]