loader
banner

Genel Bakış

Yazılım geliştirme süreçlerinde geliştirilecek uygulamada kullanılacak olan teknolojileri belirlemenin yanı sıra uygulamanın mimarisini de belirlemek çok önemlidir. Bugünlerde en yaygın kullanılan mimari yapı micro servis yapısıdır. Micro servis yapılarının temel özelliklerinden birisi her bir servisin ayrı ayrı deploy edilebilir olmasıdır. Bu özellikleri yoluyla her servis uygulama içerisinde ayrı bir bağlantı protokolü kullanabilir. Yani bir uygulamada hem HTTP, hem AMQP hem de WS kullanılabilir.

Bugün burada hem HTTP hem AMQP hem WS kullanan küçük bir kargo takip uygulaması yapacağız. Bu uygulamda şu teknolojileri kullanacağız:

  • Express.js
  • MongoDB
  • Socket.IO
  • RabbitMQ
  • ReactJS

Express.js kütüphanesini HTTP isteklerini karşılamak için kullanacağız. HTTP istekleri geldiğinde RabbitMQ message broker’a bir mesaj yollayan publisher’lar kullanacağız. Bu publisher’ların RabbitMQ message broker’a yolladığı mesajları dinleyip MongoDB veri tabanınına kaydeden consumer’lar yazacağız. Son olarak veritabanındaki her bir değişkliğin, sayfa yenilenmeksizin ReactJS ile kodlayacağımız önyüzde görüntülenmesini sağlamak adına da Socket.IO kullanacağız.

İsteyen projenin bitmiş halini Github reposundan klonlayabilir.

Gereklikler

  • NodeJS ~12v