Have something interesting to share with Java Eastern Europe community?
Become a speaker now
Dmitry Tiagulskyi

Dmitry Tiagulskyi

Senior Software Engineer at Grammarly, Ukraine

Senior Software Engineer at Grammarly, where he leads the Core services team. For the last six years, develops natural language processing systems, currently running them in the cloud for millions of users. As a long-time on-call duty warrior, interested in making software simple and reliable.

Kyrylo Holodnov

Kyrylo Holodnov

Senior Software Engineer at Grammarly, Ukraine

Having almost seven years of professional experience in Java/Java EE development, Kyrylo has worked at NetCracker, Infopulse, Yandex before joining Grammarly team. He also studied computer science at Yandex School of Data Analysis. Primary interests are distributed systems, Java development, machine learning and information retrieval.

Speaker's activity
Grammarly Docs – Architecting a Realtime Distributed Documents Editor
May 27th
13:25 - 14:10
Talk
Russian

We will discuss the challenges of building a distributed documents editor at a global scale. Some of the things covered:

– Approaches for making group editors. Operational transformation algorithms with conflicts resolution.
– The challenges of distributed data applications – consistency and durability requirements.
– Overview of architectures that we investigated: atomic group broadcast, master-slave replication, distributed caches – Erlang Mnesia, Infinispan. How to choose the right one?
– A scalable and reliable system with Java, Nginx-Clojure, Apache ZooKeeper, AWS S3 and DynamoDB. Lessons learned after a year in production.

After this talk you will know:

– How real-world group editors work.
– Why service discovery and dynamic configuration is important.
– Use-cases for Apache ZooKeeper, AWS S3 and DynamoDB. Tips and best practices for using them in your project.

Slides
Video