GO a HA režim service v clusteru rubrika: Programování: Jiné

Anonym
položil/-a 23.5.2018

Máte někdo zkušenosti s psaním service v HA režimu?

Myslím tím, provoz v clusteru, kde je jedno k jakému nodu se klient připojí a vždy dostane od clusteru správnou odpoved. Výpadek nodu způsobí jen jeho odstranění z loadbalanceru a jede se dál.

Máme nějaké zkušenosti s raft protokolem a implementaci
od hasicorpu, ale rád se nechám inspirovat i k jiným řešením.

Druhy bod k tématu je pak autodiscovery nodu clusteru. Zatim jsme řešili jen přes udp broadcasting na lokální síti.

Znáte nějaké jiné možnosti bez centrálního prvku?

Komentáře

  • ivoszz : Myslím, že pro diskusi je tu příliš málo informací. Zmiňovaná service je stavová nebo bezstavová? Mají nějaká společná data? Zmiňujete Raft, znamená to, že je potřeba zajistit nějaký consensus, nebo se jen sdílí nějaké informace? Jak moc jich je? Pro většinu běžných služeb stačí použít nějakou formu clusterové db, třeba etcd a není potřeba implementiovat Raft do vlastní služby. Taky lze použít nějakou message queue, která garantuje exactly-once. Autodiscovery lze provádět mnoha způsoby, ale častý způsob je opět využít etcd. Pokud hledáte inspiraci, doporučuji se podívat na nějaký microservice framework, třeba go-kit nebo micro. 24.5.2018
  • harrison314 : @ivoszz: Offtopic, ale jestvuje v GO key-value databaza s REST api? Najlepsie dvojurovnova. 26.5.2018
  • ivoszz : Omlouvám se autorovi dotazu, za offtopic odpověď. Možná by bylo lepší to položit jako samostatnou otázku. Odpověď je docela těžká, protože možností je hodně, v jádru se dělí na: 1) použít jakoukoliv embedovatelnou go db (a že jich je) a připsat k ní REST API, backend vybrat podle potřeby (zápis, čtení, zálohy, in memory). 2) Existuje několik už hotových řešení, kolikrát mohou mít různé backendy (viz 1). Např. tiedot, ledisDB (ala redis - různé backendy i přenosové protokoly), eliasdb (grafová), minio (objektová, AWS kompatibilní) 3) použít nějakou distribuovanou kv, jako řeba consul nebo etcdv2 (starší verze). Hodně záleží na účelu.Jinak jsem určitě na nějakou zapomněl. 27.5.2018

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.