Централен сървър за feature flags и други конфигурации

74 views
Skip to first unread message

Ivan St. Ivanov

unread,
Mar 24, 2021, 8:13:39 AM3/24/21
to bg-...@googlegroups.com
Здравейте,

В проект, по който работя, искаме да вкараме feature flags (или toggles, whatever). Иска ми се от централно място да можем да казваме даден feature за кой пазар е валиден, от коя дата нататък, за кой environment и т.н.

По възможност искам това да се прави без deploy и с някакъв UI, в който дори продукт хората да могат да пипат. И да го ползваме в бъдеще за всякаква централна конфигурация на продукта, а не само за feature toggles.

Със сигурност всеки може да седне и да си имплементира такъв централен сървър за конфигурации, но съм още по-сигурен, че вече на пазара има нещо free & super cool :)

Та въпросът ми е: някой от вас ползвал ли е такова чудо някога и да му е харесало? Аз до момента съм се сблъсквал само с inhouse решения :)

Благодаря,
Иван

Vladimir Ralev

unread,
Mar 24, 2021, 8:50:00 AM3/24/21
to bg-...@googlegroups.com
CouchDB с CouchApps за UI-то или пък направо с фаукстън. С view-та за
различните критерии по документни JSON полета. Има и възможност за
change notifications при промяна на документи да ти инвалидира
евентуално кеша от апп сървърите/клиентите. Изцяло HTTP API лесно за
имитация ако решиш да го замениш с нещо друго или да го разделяш
поетапно. Малко е опасно със развалени данни и трябва да се изучи
подробно ако е за сериозни неща.
> --
> Получихте това съобщение, защото сте абонирани за групата „Bulgarian Java Users Group“ в Google Групи.
> За да се отпишете от тази група и да престанете да получавате имейли от нея, изпратете имейл до bg-jug+un...@googlegroups.com.
> За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/CACYLA9E3akR3Si3mSF21bNQqx20f0HpqZWOhL1cMbi0y1nW7fg%40mail.gmail.com.

Stefan Angelov

unread,
Mar 24, 2021, 9:07:00 AM3/24/21
to Bulgarian Java Users Group
Здравейте, това което щяхме да ползваме в МенторМейт беше https://launchdarkly.com/. За жалост е платено :D но пример Atlassian го ползват често.

Milan Milanov

unread,
Mar 24, 2021, 10:05:19 AM3/24/21
to bg-...@googlegroups.com
Привет,

Наскоро правихме проучване по темата за един проект и претендентите бяха два - ff4j и unleash. И двата проекта са OS, mature, добре документирани, използвани и тн. Ние се спряхме на Unleash, само заради хубавата интеграция с к8с/хелм, но това може и да не е валидно при вас, та разгледайте и двете.

Поздрави,
Милан

Емил Гелев

unread,
Mar 25, 2021, 3:49:30 AM3/25/21
to Bulgarian Java Users Group
Привет,

Ние също сме ползвали само in-house решение, така че не мога да съм особено полезен, но скоро попаднах на това: https://featureflags.io/java-feature-flags/. Някакви ентусиасти са събрали най-популярните решения и практики на едно място. Дано е полезно. С удоволствие ще следя темата.

Емо.

Danail Alexiev

unread,
Mar 25, 2021, 6:34:58 AM3/25/21
to bg-...@googlegroups.com
Аз смело мога да препоръчам https://firebase.google.com/docs/remote-config.

Не знам дали влиза в безплатните неща и колко тегаво ще е да се интегрира на BE, но откъм работа и функции не съм имал оплаквания. Ползвахме го за feature flags и още други благинки за mobile.

Поздрави,
Даката

За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/5947d687-801d-4078-93b8-097042aae85bn%40googlegroups.com.

Plamen Stefanov

unread,
Mar 26, 2021, 3:48:39 AM3/26/21
to Bulgarian Java Users Group
Здравей,

Ако ти трябва да сменяш динамично конфигурации може да ползваш ETCD, но ще трябва да си направиш някакъв фронтент за него.
Поддържа хоризонтално скалиране, watch, lease, ttl. Така може всеки процес да следи за промяна и да се адаптира.
Става и за регистър на услуги.

Поздрави
Пламен

Mihail Georgiev

unread,
Mar 28, 2021, 10:14:13 AM3/28/21
to Bulgarian Java Users Group
Привет,
Потвърждавам, че ETCD е много добро решение. А ако не ти е проблем да четеш JSON-и, няма нужда и от frontend за него - просто през Postman/Insomnia пращаш GET, PUT или POST заявки (или през конзолен клиент си инсталираш etcdctl) и си готов.

Поздрави, Мишо

Ivan St. Ivanov

unread,
Apr 19, 2021, 2:20:29 AM4/19/21
to bg-...@googlegroups.com
Здравейте,

Благодаря на всички за отговорите!

Пропуснах да отбележа, че не ми трябват просто feature toggles (т.е. boolean флагове), а възможност за всякаква централизирана конфигурация - string-ове, масиви и дори цели JSON-и.

По тази причина решенията от сорта на CouchDB и ETCD ми се сториха по-близки до това, което търся.

Все пак за момента се спрях на Consul:
  • Има много добра интеграция с MicroProfile Config [1] и с Quarkus [2]
  • Клиентът, за който разработвам това решение, ще има Consul като managed решение в същия cloud, в който е и моят проект
Поздрави,
Иван


За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/300e8e13-ba35-4614-8200-48bf4dd7dd8an%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages