Saeed Ghofrani
RecruitersLive DemosArchitectureCase StudiesProjectsExperienceSkillsBlogContact
Hire / Contact
RecruitersLive DemosArchitectureCase StudiesProjectsExperienceSkillsBlogContact

Saeed Ghofrani Ivari

Backend systems, real-time platforms, and engineering leadership.

Focus

NestJS, PostgreSQL, Redis, RabbitMQ, Docker, Kubernetes, performance.

Contact

sa.ghofraniivari@gmail.comTelegram
GitHubLinkedInStack OverflowDev.toRecruiter briefLive demos

Article

Building Real-Time Systems That Stay Maintainable

Real-time systems need more than sockets: they need boundaries, queues, observability, and graceful failure modes.

Real-time architecture should separate transport, domain events, persistence, and delivery guarantees. Queues and cache help, but only when ownership and failure behavior are explicit.

Keep transport concerns separate from durable domain events.
socket.on("message:create", async (payload) => {
  const message = await messageService.create(payload);
  await eventBus.publish("message.created", { id: message.id });
  socket.to(payload.roomId).emit("message:created", message);
});
realtimerabbitmqwebsocketarchitecture