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…
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…
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…
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…
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…
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…
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:…
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…
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…
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.
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…