Skip to content

Bucket4j, Event Sourcing and GraphQL path extraction

Photo of Haim Yadid
Hosted By
Haim Y. and 2 others
Bucket4j, Event Sourcing and GraphQL path extraction

Details

In this event we are going to have 3 talks. Benjamin will give an intro to Bucket4j - a rate limiting library - and how they use it. Yaron is going to share a library they open sourced to do "xpath" selection for GraphQL result node. Last, Nathan is going share their amazing journey from event sourcing, preached in the last 5-6 years to plain CRUD with event publishing - a super interesting journey with some good take aways.

Thanks to Intuit Israel for sponsoring the event!

AGENDA

18:00 - 18:30 Mingling, food, and drinks

18:30 - 18:40 Opening words

18:40 - 19:05 [HEBREW] Leveraging Bucket4J for distributed rate limiting using redis / Benjamin Benchaya - Intuit
19:05 - 19:20 [HEBREW] Introduce a unique path selection solution for the GraphQL document / Yaron Yehuda Karni -Intuit
19:30 - 20:20 [HEBREW] Beyond Event Sourcing: Embracing CRUD for Wix's High-Growth Platform / Natan Silnitsky - Wix

Leveraging Bucket4J for distributed rate limiting using redis
Hosting a web service, particularly one that runs on a distributed system, can often lead to incoming traffic spikes that potentially threaten to overwhelm your servers. To protect your service from such situations, you can apply rate limiting or throttling capabilities, to moderate both the flow and number of requests that a client can make to your service in a given time interval. In this session we will learn how to easily add rate-limiting capabilities to your distributed service using Bucket4J and Redis. Bucket4j is a powerful Javapowerful, Java library used for implementing token-bucket-based rate limiting. It is easily integrated into any Java application or service.

Benjamin Benchaya
Benjamin is a Staff Backend Developer and powering prosperity at Intuit for the past 7 years.

Introduce a unique path selection solution for the GraphQL document

We faced the challenge of transforming a selected GraphQL document node. The problem was selecting the GraphQL node to transform. To address this, we developed a path selection approach similar to xPath and JSON path for GraphQL documents named gXPath. An expression language with supportive code has been developed.
Once the node was selected, the library provided advanced transformation capabilities for GraphQL documents.
It’s an open source library: https://github.com/intuit/eXtendGql

Yaron Yehuda Karni
Yaron is an architect for the past 20 years. Previously a Chief architect for Amobee, Imvition and Ribbon Innovation lab Architect and Leader

Beyond Event Sourcing: Embracing CRUD for Wix's High-Growth Platform
This talk delves into the journey from event sourcing back to a CRUD-based model for Wix's microservices.
Event sourcing, a pattern where state changes are stored as a sequence of events, coupled with CQRS has been a cornerstone for systems like Wix Stores' product catalog service. It enabled detailed auditing and "time travel" debugging capabilities and projections for optimized queries, but introduced code complexities in state reconstruction, versioning, and validation. As Wix's platform grew, the development velocity suffered, prompting a shift towards a more straightforward and unified CRUD model.
This talk will explore the challenges of maintaining an event-sourced system, and why Wix transitioned to a platformized CRUD approach. We will demonstrate how this shift has led to a more open platform, with seamless API integrations, automatic domain events, and a robust event-driven architecture that maintains data consistency and resilience while not sacrificing, auditing, debugging and query optimizations.
Join us to learn from Wix's experience in balancing simplicity, extensibility, and performance in a high-growth environment, and how embracing the humble CRUD has supercharged their development velocity, resilience, and scalability.

Natan Silnitsky
Natan is a backend-infra tech lead at Wix.
He's part of a group that provides solutions for Wix's platformization and development needs that accelerate development of microservices and serverless functions at Wix. Before that he was tech lead for a team building event-driven libraries and tools on Kafka.
A co-maintainer of Greyhound, an open-source Kafka client, and a Scala enthusiast.

Natan is a renowned speaker, blogger, and advocate for clean, functional code, efficient development, and exceptional software design.

FOOD

Light food, light drinks, and beer will be served courtesy of Intuit Israel.

RECORDING

We are recording, as always, this meetup and uploading it to our YouTube channel (be sure to subscribe), but please keep in mind asking questions about stuff you don't understand is only possible when you attend the live event.

COVID-19 safety measures

Event will be indoors
The event host is instituting the above safety measures for this event. Meetup is not responsible for ensuring, and will not independently verify, that these precautions are followed.
Photo of Java.IL - the Israeli Java Community group
Java.IL - the Israeli Java Community
See more events
FREE
120 spots left