Hey, It's Berk Selvi

.NET Developer, blogger and builder.

Berk Selvi

Who am I?

I am a Software Developer with over 2 years of experience in .𝗡𝗘𝗧 and 𝗱𝗶𝘀𝘁𝗿𝗶𝗯𝘂𝘁𝗲𝗱 𝘀𝘆𝘀𝘁𝗲𝗺𝘀, with domain expertise in insurance and fleet. Focused on microservices, event-driven architectures, and improving engineering practices in Agile environments. Passionate about software architecture, DevOps, open-source software, public speaking, and technical blogging.

Event-Driven Architecture: Do you need other service’s data in microservice architecture

In microservice architecture, data dependency between services can be managed with synchronous or asynchronous communication. Synchronous communication can cause scalability and accessibility issues due to tight service coupling, while asynchronous communication reduces dependency, allowing services to operate independently. Choosing the right method depends on the specific scenario, but asynchronous communication generally provides more scalable and accessible solutions.
→

CorrelationId Tracing in .NET Microservices with HTTP and MassTransit

In this article on .NET microservice architecture, we will explore how to use CorrelationId with HTTP and RabbitMQ requests to enhance distributed traceability. We will examine how to propagate the CorrelationId value across different services, manipulate header values in incoming and outgoing requests using Middleware and Filter structures, and log contexts using Serilog’s LogContext framework.
→

API Gateway Alternatives from a .NET Developer’s Perspective: YARP, Ocelot, Kong, APISIX, and KrakenD

We explore API Gateway alternatives for .NET developers. Starting with .NET-based solutions like YARP and Ocelot, we evaluate OpenResty-based Kong and Apache APISIX as well as Go-based KrakenD. By detailing the features, performance, and use cases of each API Gateway, we aim to help you make the right choice.
→

How to Use RSA for Encryption in JavaScript and Decryption in .NET

In the digital world, securing communication between different systems is paramount. RSA encryption is an asymmetric encryption algorithm and provides a robust way to achieve this by using a pair of…
→

How to use Ocelot and Keycloak together to secure Microservices from API Gateway

In the dynamic landscape of microservices architecture, the need for robust security has become much more important. As organizations break down their applications into smaller, independently…
→

Achieving Zero Downtime: Azure App Service Deployment using Azure DevOps and Deployment Slots

When deploying our application, which runs as a single instance in Azure App Service, using Azure DevOps pipelines, there will most likely be a few seconds of downtime. Because the application…
→

Background jobs and Hangfire in .NET

Learn about managing background jobs in .NET with various methods like Task.Run(), Hosted Service, and Hangfire. This comprehensive blog post explores their pros, cons, and implementation details, with a focus on Hangfire…
→

How to Secure Dotnet & Vue.js Application with Keycloak

Discover how to secure dotnet and Vue apps with Keycloak. This guide covers Docker setup, realm and client configuration, securing Vue.js apps, creating a Dotnet WebAPI, consuming the API from Vue, and more…
→

How to Deploy a React App with Nginx using Docker with react-router-dom

Learn how to deploy a React app with Nginx using Docker in this step-by-step tutorial. This tutorial covers everything from creating a Dockerfile for your React app to using Docker Compose to …
→

How to learn something very well

Explore the power of effective learning in this concise guide. Learn why knowledge is key, how to cultivate self-discipline, and discover actionable techniques for better retention and comprehension. Dive into recall methods…
→