Sobes.tech

Golang

Hoeveel partities moet een Kafka-topic hebben?

Senior
А7
36

Kan foutafhandeling gestandaardiseerd worden?

Senior
I-teco
36

/* We moeten gegevens van een bron naar een ontvanger overbrengen. De bron geeft gegevens in kleine batches (~tien records), terwijl de ontvanger efficiënter werkt met grote batches (~duizend records). Een echt voorbeeld is het overzetten van gegevens van Kafka-achtige wachtrijen naar een Clickhouse-database. Bron: - Bijna oneindig. - De bron geeft nooit meer dan MaxItems records terug in één Next-aanroep. - Tijdens één "sessie" (één aanroep van de Pipe-functie) geeft de bron bij elke Next-aanroep nieuwe gegevens. - Na een herstart begint de bron vanaf de vorige "bevestigde" positie, bepaald door cookie. Daarom moet elke cookie-waarde die Next teruggeeft, na het opslaan van gegevens in de ontvanger, worden bevestigd met een Commit-aanroep, in dezelfde volgorde als waarin ze door Next werden teruggegeven. Ontvanger: - Kan niet meer dan MaxItems tegelijk verwerken. Het is nodig om de functie func Pipe(p Producer, c Consumer) error te implementeren, die gegevens uit de bron leest, deze groepeert in een buffer van niet groter dan MaxItems en opslaat in de ontvanger, waarna de voortgang in de bron wordt bevestigd. */ const MaxItems = 9999 type Producer interface { // Next geeft: // - een batch van items om te verwerken // - cookie om te bevestigen wanneer de verwerking is voltooid // - fout Next() (items []any, cookie int, err error) // Commit wordt gebruikt om de gegevensbatch als verwerkt te markeren Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

Middle+
Яндекс
36

Welke leveringsgaranties biedt Kafka? Wat moet er op de producer gedaan worden om precies één keer te garanderen?

Middle+
plata
36

Kan een Docker-container zonder afbeelding worden gestart?

Senior
SberAuto
36

Hoe onderbouw je je standpunt als een collega het niet met je eens is?

Senior
AvitoAvito
36

Kan in Redis alleen order_id -> current_status worden opgeslagen en de volledige bestelkaart uit de replica worden gelezen? Hoe onderscheid je deze twee soorten leesbewerkingen?

Senior
plata
36

Stel een index voor op de tabel users met de velden gender en age, als je gebruikers op geslacht of leeftijd moet selecteren

Middle
VKVK
36

Vertel over een situatie waarin je iets hebt voorgesteld en je je standpunt moest bewijzen.

Senior
Cloud.ru
36

Als een string een palindroom is volgens het algoritme, geeft het dan true of niet?

Middle
VKVK
36

Hoe werkt containerisatie, kun je meer vertellen over namespaces?

Senior
OZONOZON
36

Wat te doen als de endpoint vertraagt? Beschrijf de diagnose-stappen.

Middle+
plata
36

Wat doe je nog meer nadat je iets hebt gerepareerd?

Senior
WildberriesWildberries
36

Welke eisen zou je als eerste stellen aan een systeem dat met persoonsgegevens werkt?

Senior
Astra
36

Welke taken zouden interessant zijn om op te lossen?

Middle+
ВайлдберрисВайлдберрис
36

Ik heb een groot bestand verwijderd, maar de ruimte op de schijf is niet vrijgemaakt. Waarom? Hoe vind ik het en los ik het op?

Senior
Flant
36

Wat is de context in Go? Hoe wordt het gebruikt? Hoe werkt annulering via de context?

Middle
YadroYadro
36

Wat is protobuf? Wat gebeurt er bij het toevoegen/verwijderen van een veld?

Senior
SelectelSelectel
36

Helpt het toevoegen van meer consumers bij grote Kafka-lag? In welke gevallen helpt het en in welke niet? Wat als er 16 partitions en 2 consumers zijn?

Middle+
ВайлдберрисВайлдберрис
36

Vertel over soft delete (zachte verwijdering). Wat is het en waarom is het nodig?

Middle
АО Медиа Эффект
36
/412