Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Jalankan redis dalam maraton (mesos) di bawah satu url

Ada selusin solusi untuk melakukan layanan penemuan di lingkungan Mesos.

Kami dapat membaginya menjadi 3 kelompok berdasarkan cara klien menemukan layanan:

  1. Berbasis proxy
    • Saat antara klien dan layanan terdapat proxy, mis., HAProxy (marathon-lb didasarkan padanya), fabio, traefik, nixy) yang menangani loadbalancing layanan Anda berdasarkan jalur HTTP, header, domain, dll. Solusi ini mudah dikembangkan dan memberikan kesempatan untuk menyetel loadbalancing berdasarkan permintaan. Di sisi lain kami menambahkan hop tambahan dan sebagai proxy kami memiliki situasi MitM.

  1. Seperti DNS (tanyakan titik akhir khusus yang terkenal untuk lokasi layanan)
    • Jaringan yang Ditentukan Perangkat Lunak - kita dapat menggunakan IP per wadah dengan SDN sehingga setiap wadah diekspos dengan IP unik dan menyajikan layanannya menggunakan port default 80 untuk HTTP, 443 untuk HTTPS, dan seterusnya. Ini adalah teknik yang paling canggih dan relatif baru meskipun menggunakan DNS lama biasa untuk menemukan IP layanan. Mungkin lebih sulit untuk memperkenalkan proxy, tetapi akan bekerja dengan semua jenis lalu lintas.
    • Catatan layanan - di mana setiap kontainer terdaftar di DNS global dan klien mendapatkan IP dan PORTnya menggunakan kueri DNS SRV. Consul Mesos DNS menyediakan server DNS jenis ini. Juga beberapa protokol lain didasarkan pada ide ini (lihat Bonjure). Ini mencoba mendapatkan yang terbaik dari SDN dan proxy. Pengaturannya relatif mudah dan protokolnya agnostik.

  1. Lainnya
    • Apa pun yang tidak cocok dengan tipe lain mis. solusi yang dikembangkan inhouse, etcd atau Eureka. Ini bisa sangat ketat dengan infrastruktur dan aplikasi yang menyediakan beberapa pengoptimalan. Perlu disebutkan bahwa ada beberapa upaya untuk menggunakan layanan penemuan berbasis DHT - Meta Service Discovery

Anda dapat menemukan detail selengkapnya tentang alat yang dapat digunakan untuk membuat Layanan Penemuan di sini

Kami dapat membagi Layanan Penemuan berdasarkan cara mereka diisi dengan entri layanan:

  1. Pengumpulan
    • Mesos/Marathon secara berkala ditanyai tentang keadaan. Beginilah cara kerja DNS Mesos. Ini adalah metode termudah tetapi akan menyebabkan penundaan besar antara start/stop layanan dan perubahan masuk ke penemuan layanan. Hal ini dapat diminimalkan dengan menggunakan pemeriksaan kesehatan.
  2. Berdasarkan acara
    • Marathon memiliki kemampuan untuk mendorong acara dengan informasi tentang perubahan keadaan (Ada inisiatif untuk memasukkan bus acara int Mesos juga — desain doc. Dengan cara ini marathon-lb bekerja. Pekerjaan serupa dilakukan oleh maraton-konsul tetapi data diteruskan ke konsul.
  3. Dalam aplikasi/wadah
    • Solusi di atas tidak sinkron sehingga mungkin ada rentang waktu ketika status penemuan layanan Anda basi mis. layanan dimulai tetapi belum siap untuk melayani permintaan, atau layanan baru saja mati. Bahkan dengan healthcheck kami tidak dapat menganggap semua hal terjadi dengan 0 downtime. Solusi untuk meminimalkan waktu henti adalah dengan membiarkan aplikasi mendaftar sendiri ketika sudah siap melayani permintaan, dan membatalkan pendaftaran sebelum berhenti (alias graceful shutdown).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gandakan kunci di redis

  2. Bagaimana cara menyimpan objek biner di redis menggunakan node?

  3. Redis INCRBY dengan batas

  4. Tidak bisa mendapatkan koneksi Jedis; Tidak bisa mendapatkan sumber daya dari kumpulan

  5. Rails Puma kehabisan koneksi Redis