Hey, It's Berk Selvi
.NET Developer, blogger and builder.
Who am I?
Berk Selvi is a software developer who works with .Net & Java for backend and React & Vue for frontend technologies in the field of full stack web development, has an Azure certificate, contributes to the community through blog posts. He is willing to learn new technologies and is happy to develop products as part of teamwork, and is interested in DevOps. He is currently part of Doğuş Technology's insurance team.
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…