O tym stanowisku
Numery telefonów i adresy e-mail w tym ogłoszeniu są ukryte do momentu zalogowania.
auto_translated_note
Zespół ds. narzędzi MongoDB: Narzędzia MongoDB (produkty i inżynieria) Lokalizacja: Projekty zdalne: percona/percona-clustersync-mongodb i percona/percona-backup-mongodb O zespole Zespół narzędzi MongoDB tworzy narzędzia operacyjne Percona typu open source dla MongoDB. W centrum naszej działalności znajdują się dwa projekty.
Percona Cluster
Sync for MongoDB (PCSM) klonuje i stale replikuje dane pomiędzy klastrami. Percona Backup for MongoDB (PBM) to rozproszone, niewielkie rozwiązanie do tworzenia kopii zapasowych i przywracania zestawów replik i klastrów podzielonych na fragmenty. Obydwa są napisane w Go, oba mają licencję Apache 2.0 i oba są w pełni zbudowane jako otwarte.
Ta rola przypada przede wszystkim PCSM, który jest młodszy i szybko się rozwija, więc będziesz miał realny wpływ na to, jak to się ukształtuje. Będziesz także pracować w PBM. Obydwa narzędzia mają wiele wspólnych problemów: topologia klastra, strumienie operacji i zmian, spójność między fragmentami i wydajność w bardzo dużych klastrach produkcyjnych.
Tworzenie kopii zapasowych i przywracanie danych jest tutaj prawdziwą zaletą, a nie tylko polem do zaznaczenia. Projekty - PCSM (główny cel): wstępne klonowanie danych, a następnie ciągła replikacja zmian w strumieniach zmian MongoDB, zarówno dla zestawów replik, jak i klastrów podzielonych na fragmenty. Wciąż w wersji poprzedzającej 1.0 i szybko się rozwijającej. - PBM (dodatkowy): spójne tworzenie kopii zapasowych i przywracanie z odzyskiwaniem w określonym momencie, przy użyciu przechwytywania oplogów w celu zachowania spójności między zestawami replik i klastrami podzielonymi na fragmenty, z pamięcią masową zgodną z S3 i systemem plików.
Napędzany procesami agenta pbm w każdym węźle i interfejsem CLI pbm. Dojrzały i szeroko stosowany w produkcji. Nad czym będziesz pracować Podstawowy, na PCSM - podstawowy silnik replikacji: początkowe klonowanie kolekcji, a następnie ciągłe przechwytywanie zmian w strumieniach zmian MongoDB, z prawidłową obsługą tokenów wznowienia, porządkowaniem i możliwością wznowienia po awariach. - Poprawność i odporność na błędy na dużą skalę: prawidłowe odzyskiwanie po przerwach w działaniu sieci, wyborach w prawyborach i ponownym uruchamianiu bez utraty lub powielania zmian oraz dokładne rozważenie gwarancji dostawy, które możemy uczciwie obiecać. - Obsługa klastrów podzielonych na fragmenty: replikacja między fragmentami, radzenie sobie z realiami migracji fragmentów i aktywnością modułu równoważącego oraz utrzymywanie spójności celu. - Filtrowanie przestrzeni nazw i automatyczne zarządzanie indeksami, a także przypadki brzegowe, które pojawiają się z różnicami DDL, TTL i indeksami między źródłem a celem. - Wydajność i przepustowość: równoległość klonowania, stosowanie przeciwciśnienia i utrzymywanie rozsądnego wykorzystania pamięci i połączeń w przypadku dużych klastrów z dużą liczbą zmian. - Interfejsy API CLI i HTTP, które sterują i obserwują synchronizację, a także metryki i rejestrowanie, które pozwalają operatorowi ufać temu, co się dzieje.
Również w ramach PBM - spójne tworzenie kopii zapasowych, przywracanie i odzyskiwanie do określonego momentu w zestawach replik i klastrach podzielonych na fragmenty, przy użyciu fizycznego lub logicznego typu kopii zapasowej. - Magazyn kopii zapasowych: niezawodna integracja z głównym obiektowym magazynem w chmurze (S3, GCS, Azure Blob Storage...) i zdalnymi systemami plików oraz obsługa trybów przepustowości i awarii, które pojawiają się na dużą skalę. - Agent pbm i interfejs CLI pbm oraz stan gromadzenia kontroli w MongoDB, który koordynuje je w klastrze. Udostępnione w obu przypadkach - praca na otwartej przestrzeni: żądania ściągnięcia, przegląd kodu, JIRA i forum społeczności. - Jakość wydania: testy, pakowanie oraz skanowanie CI i bezpieczeństwa, które uwzględniają każdą zmianę. Co zrobiłeś: - Duże doświadczenie w Go w produkcji, z prawdziwą płynnością w współbieżności: goroutines, kanały, anulowanie kontekstu, pule pracowników i przeciwciśnienie.
Naprawiłeś błąd związany z wyścigiem, który pojawiał się tylko pod obciążeniem, i wiesz, jak go znalazłeś. - Solidne uziemienie w systemach rozproszonych i spójność danych. Możesz jasno porozmawiać o co najmniej raz i dokładnie raz, idempotencji, porządkowaniu i tym, czego potrzeba, aby proces stanowy mógł zostać wznowiony. - Praktyczna wiedza o MongoDB: strumienie zmian, dziennik operacji, tokeny wznowienia, zestawy replik i sharding. Nie musisz wcześniej budować replikacji, ale powinieneś zrozumieć, dlaczego jest to trudne. - Komfortowe tworzenie i obsługa narzędzi wiersza poleceń i interfejsów API HTTP oraz oprzyrządowanie ich za pomocą metryk i logów strukturalnych. - Nawyk pisania testów, które wychwytują rzeczywiste problemy i zapewniają komfort pracy w mieszanym zestawie narzędzi. - Doświadczenie w pracy otwartej: przepływy pracy w Git i żądaniach ściągnięcia, dobre ocenianie i przyjmowanie kodu oraz jasna komunikacja pisemna z współpracownikami, których nigdy nie spotkałeś osobiście.
Miło to mieć - wcześniejsza praca nad wewnętrznymi elementami baz danych, potokami CDC, ETL lub narzędziami do migracji danych. - Znajomość metryk i obserwowalności w stylu Prometeusza. - Doświadczenie z golangci-lint, skanowaniem luk w zabezpieczeniach (na przykład Trivy) oraz pakowaniem deb i RPM. - Utrzymanie lub udział w projekcie open source we współpracy ze społecznością zewnętrzną. - Ekspozycja na klastry podzielone na fragmenty MongoDB na dużą skalę, gdzie zachowanie modułu równoważącego i interakcja z kopią zapasową przestają być teoretyczne. Jak pracujemy Obydwa projekty są dostępne na GitHubie, wkłady przechodzą przez pull requesty i przegląd kodu, a my śledzimy pracę w JIRA. Dbamy o to, aby oprogramowanie typu open source było otwarte, dlatego domyślnie praca, którą tu wykonujesz, jest publiczna i taka pozostanie.
Dlaczego Percona? W Perconie wierzymy, że otwarty świat to lepszy świat. Naszą misją jest umożliwienie każdemu swobodnego wprowadzania innowacji poprzez dostarczanie najlepszego oprogramowania bazodanowego typu open source, wsparcia i usług.
Sprawiamy, że bazy danych i aplikacje działają lepiej dzięki unikalnemu połączeniu wiedzy specjalistycznej i oprogramowania open source stworzonego dla Ciebie we współpracy ze społecznością. Nasze zespoły techniczne są ekspertami w zakresie MySQL, MongoDB, PostgreSQL i MariaDB. Percona jest dumna, że jest zespołem pracującym wyłącznie zdalnie i rozproszonym po całym świecie - mamy kolegów w ponad 50 krajach!
Oferujemy kulturę współpracy i zaangażowania, w której Twoje pomysły są mile widziane, a Twój głos jest słyszalny. Nasi pracownicy otrzymują hojne świadczenia, w tym elastyczne godziny pracy i różne programy płatnego urlopu, cały sprzęt do zdalnego biura, fundusze na rozwój kariery (szkolenia zewnętrzne, certyfikaty, konferencje), stałe dodatki za łączność oraz możliwość uczestniczenia w naszym kapitałowym planie motywacyjnym. Oferujemy również świadczenia wspierające zdrową równowagę między życiem zawodowym a prywatnym, takie jak The Percona Adventure Team, Work-from-Anywhere, FlowDays, FryDays i ogólną elastyczność.
Wspieramy także bycie odpowiedzialnym społecznie poprzez nasz program wolontariatu PAVE i technologię transformacji kobiet. Jeśli podoba Ci się pomysł współpracy z szybko rozwijającą się firmą technologiczną, jedną z najlepszych w branży i znaną na całym świecie jako lider w przestrzeni baz danych typu open source, porozmawiajmy! Połącz się z nami i bądź na bieżąco z najnowszymi wiadomościami i wydarzeniami, śledząc nas na LinkedIn i Twitterze.
Nie możemy się doczekać kontaktu z Tobą! Aplikuj bezpośrednio na RemoteJobs.org: https://remotejobs.org/remote-jobs/sr-software-engineer-gomongodb-percona
Pytania spolecznosci
Ktos tu pracowal? Zapytaj przed aplikacja.
Brak watkow dla tej oferty lub firmy.