Home / Companies / Ably / Blog / May 2021

May 2021 Summaries

3 posts from Ably

Filter
Month: Year:
Post Summaries Back to Blog
Ably, a Platform as a Service (PaaS) focused on real-time messaging, encountered unexpected performance issues with a gRPC streaming server in its message-processing pipeline, particularly when tested under high throughput conditions. Despite gRPC's high-performance design and widespread use for connecting microservices, Ably's tests revealed unexpectedly high CPU usage, primarily due to system calls and scheduling goroutines, with performance hindered by the inefficiency of TCP packet handling. The investigation revealed that the observed inefficiencies were largely due to the timing of message publishing in the system under test (SUT), which differed significantly from a benchmark setup that packed more data frames into fewer TCP packets. This discrepancy highlighted gRPC's complexity and its challenges at high message rates, prompting Ably to consider ways to optimize network performance without re-architecting the system, while reinforcing the importance of understanding the real costs of data movement in a high-bandwidth environment like AWS. Ably remains committed to leveraging gRPC's benefits while being mindful of its limitations, continuing to explore solutions for more efficient real-time data exchange.
May 26, 2021 2,863 words in the original blog post.
Realtime systems are those that can react to events as they occur, before their importance diminishes. In a business context, realtime involves extracting value from events with small windows of opportunity. Examples include live document collaboration, system monitoring, and asset tracking. Realtime applications require low latency, scalability, and event-driven architectural choices. Key features of dependable realtime platforms include performance predictability, reliability, availability, and integrity. Event-driven architecture complements traditional approaches when handling the challenges of realtime requirements. Hard deadlines cannot be missed in hard realtime systems, while soft realtime systems experience quality degradation as time passes beyond a deadline. Realtime applications can dramatically shorten feedback loops and bring business value now. Engineering dependable realtime reactions is not trivial but has significant potential.
May 13, 2021 1,833 words in the original blog post.
The publish/subscribe (pub/sub) pattern is a design architecture that allows for asynchronous sending and receiving of messages by a broker dedicated to the task, providing applications with increased scalability compared to other message exchange patterns. This loose coupling makes it a powerful solution for many common engineering challenges such as event notification, distributed caching, distributed logging, multiple data sources, and burstability and scale. Pub/sub messaging is used in various industries and can be implemented using platforms like Ably.
May 06, 2021 1,489 words in the original blog post.