RSSAmplifier

Blog

Roman Kudryashov's tech blog

Recent content on Roman Kudryashov's tech blog

romankudryashov.comRSS feed ↗11 posts

Latest posts

Event-driven architecture on the modern stack of Java technologies

Table of Contents Introduction Microservices implementation Common model Book service User service Notification service Build Infrastructure Persistence layer Kafka Connect and Debezium connectors Kafka Schema registry Reverse proxy Monitoring tools Local launch and CI/CD Testing REST API and user notifications testing Testing of processing messages from the inbox table Testing of processing…

Building a unified GraphQL API with Apollo Router

Table of Contents Overview Configuration Supergraph schema Router configuration Customization. Implementation of a plugin Launch Testing Possible alternatives Conclusion Useful links Overview In this article, you will see a practical example of building a unified GraphQL API ( supergraph ) composed of multiple GraphQL APIs ( subgraphs ). This is achieved with Apollo Router whose first version was…

Monitoring Rust web application with Prometheus and Grafana

Table of Contents Overview Exposing Prometheus metrics in a Rust application Metrics definition Counter Gauge Histogram System metrics Endpoint for metrics exposition Prometheus setup for metrics gathering Expression browser and graphing interface Grafana setup for metrics visualization Monitoring metrics of application container using cAdvisor Setup of alert notifications using rules and…

Getting started with MongoDB and Redis in Rust

Table of Contents Overview Launch MongoDB and Redis Data initialization Implementation of the application Dependencies Project structure main function Working with MongoDB Working with Redis Web application Launch and testing CI/CD Conclusion Useful links Overview This guide will show you how to create a Rust web backend that uses MongoDB , a document-based database, to store data and Redis for…

Introduction to gRPC in Rust

Table of Contents Overview Implementation Service definition and code generation gRPC server gRPC client Launch and testing CI/CD Conclusion Useful links Overview In this article, you will see how to create gRPC server and client in Rust. For visibility purposes, the client will also be a Telegram bot. Finally, the following architecture will be obtained: This article is not a complete tutorial on…

GraphQL in Rust

Table of Contents Introduction Overview Stack of technologies Prerequisites Implementation Dependencies Core functions Query and type definition N+1 problem Interface definition Custom scalar definition Mutation definition Subscription definition Integration tests GraphQL API client API security Enum definition Work with dates Apollo Federation support Apollo Server Interaction with a database…

[Tip] How to convert AsciiDoc to Markdown

I write posts on this blog using AsciiDoc, but a couple of resources I repost on support only Markdown, so to convert articles I use the following commands: asciidoctor -b docbook index.adoc pandoc -f docbook -t markdown_mmd -o index.md index.xml --wrap=none The only question that remains is how to properly convert code listings' captures. Thanks to the authors of the following articles:…

How to GraphQL in Kotlin and Micronaut and create a single endpoint for access to microservices' APIs

GraphQL is a query language for APIs that was developed by Facebook. In today’s article, you will see an example on how to implement a GraphQL API on the JVM, particularly using Kotlin language and Micronaut framework; most of the examples below are reusable on other Java/Kotlin frameworks. Then we will consider how to combine multiple GraphQL services into a single data graph to provide a unified…

Creating a microservice with Quarkus, Kotlin, and Gradle

This article is also available in Russian . Preface In the previous article , the brief explanations of creating microservices on the modern JVM frameworks and comparison of them were shown. Now it’s time to take a closer look at the most recently appeared framework: Quarkus . I’ll describe the process of creating a microservice using the mentioned technologies and in accordance with the…

Not only Spring Boot: a review of alternatives

At present, there is no lack of frameworks for creating miсroservices in Java and Kotlin. In the article, Helidon SE, Ktor, Micronaut, Quarkus, and Spring Boot are considered.

About me

IT Architect and Backend Developer with extensive experience in backend systems, both traditional and AI-powered. Proficient in Java, Kotlin, and Spring Boot, with working knowledge of Rust and various other frameworks. Skilled in designing and architecting infrastructure that supports these technologies, including: Database layers (relational, vector, graph, document, key-value DBs) APIs…