12 Kasım 2020 Perşembe

High Availability - Yüksek Süreklilik

Giriş
Not : Fault Tolerance yazısına bakabilirsiniz.

Bu kavram bir sürü yerde geçiyor ve çok kafa karıştırıyor. Bir sistemin T anında işlevsel olması ihtimalinin artırılması demek. İlk yazı olan Availability - Süreklilik yazısına bakabilirsiniz.


Fault Tolerance ve High Availability Farkı

Yüksek Süreklilik Sağlayan Sistemlerin Genel Özellikleri
A highly available infrastructure has these traits listed below,

- No single points of failure
- Hardware redundancy
- Reliable crossover
- Software and application redundancy
- Data redundancy
- Self-monitoring for failure
Yüksek Süreklilik Başlıkları
Genellikle iki başlık altında ele alınırlar.
- local high availability solutions
- disaster recovery solutions
Her iki başlıkta da Redundancy - Yedeklilik kullanılıyor.

1. Local High Availability Solutions
Açıklaması şöyle. Yani active-active veya active-passive olarak gerçekleştirilebilir
To solve the high availability problem, a number of technologies and best practices are needed. The most important mechanism is redundancy. High availability comes from redundant systems and components. Local high availability solutions can be categorized, by their level of redundancy, into active-active solutions and active-passive solutions
Active-Active Solutions
Açıklaması şöyle. Tüm sunucular istekleri işlerler
Active-active solutions deploy two or more active system instances and can be used to improve scalability as well as provide high availability. All instances handle requests concurrently.
Active-Passive Solutions
Açıklaması şöyle. Sadece active sunucu(lar) istekleri işlerler
Active-passive solutions deploy an active instance that handles requests and a passive instance that is on standby. In addition, a heartbeat mechanism is set up between these two instances. 
Failover - Yük Devretme
1. Sunucular Arası Failover
Active sunucunun kapatılıp, passive sunuculardan birisini görevi devralması demektir. Building Dynamic Fail-Over Java Servers yazısında passive sunucuların kendi aralarında bir lider seçmesi ile ilgili basit bir algoritma var. Kabaca her passive sunucu kendisini lider ilan ediyor. Eğe bir lider daha bulursa, bunu geri alıyor. Sonra kendisini tekrar lider ilan ediyor. Bunu N kere tekrarladıktan sonra artık ilan etmiyor. Böylece ortamda sadece 1 tane lider kalıyor.

Eğer Failover aşamasında ağ bağlantısında kopmalar vs. olursa Split Brain Scenario ortaya çıkabilir.

2. Automatic failover configuration for clients
Açıklaması şöyle. Buradaki açıklama Hazelcast için yazılı ancak genel şeyler.
It helps to have High Availability(HA) Configuration built into the client’s configuration. That way if the Hazelcast cluster where they are communicating changes state, it will automatically detect and connect to the HA cluster, which could be your another cluster in another location or DR region. This would not only save the system during planned scenarios but it comes in handy for unplanned system outages like EC2 failure where clients automatically reconnect to another cluster without downtime.

2. Disaster Recovery Solutions
Açıklaması şöyle.
Disaster recovery solutions typically set up two homogeneous sites, one active and one passive. Each site is a self-contained system. The active site is generally called the production site, and the passive site is called the standby site. During normal operation, the production site services requests; in the event of a site failover or switchover, the standby site takes over the production role and all requests are routed to that site. To maintain the standby site for failover, not only must the standby site contain homogeneous installations and applications, data and configurations must also be synchronized constantly from the production site to the standby site.
3. Senkronizasyon
High Availability için genellikle bir senkronizasyon mekanizması gerekir. Açıklaması şöyle.
The firewalls sync their state so after a failover, preexisting tcp sockets are still connected and the return traffic still permitted.

Hiç yorum yok:

Yorum Gönder