Laten we beginnen met het schrijven van de structuur — wat hebben we nodig in deze structuur?
Golang
Hoe worden gegevens opgeslagen in de database?
Waarom moeten we de context in de structuur onderbreken? Waarom de workers beëindigen? We willen de Stop-methode onderbreken.
Wat gebeurde er als de service crashte en geen berichten uit Kafka las?
Heb je vragen aan mij?
Schrijf je op je huidige baan veel asynchrone code?
Wat is het verschil tussen HAVING en WHERE?
Wat gebeurt er met de buffer wanneer schrijvende goroutines geblokkeerd worden?
Je voegt WaitGroup toe, waarom?
Hoe wordt de gecommitteerde offset door de consument in verschillende modi?
Hoe maak je een generieke (werkt met elk type waarde) datastructuur in Go?
Hoe verschilt RIGHT JOIN van andere JOINs? Wat is CROSS JOIN?
Samengestelde indexen — wat zet je eerst: gelijkheid of bereik?
Verschil tussen een virtuele machine en een container
Vertel me over CQRS
Waarom hebben jullie voor Kafka gekozen en niet voor andere berichtenbussen (RabbitMQ, NATS)?
Hoe implementeer je een geordende map in Go die de volgorde van de sleutels tijdens iteratie garandeert?
Hoe voeg je context toe aan de Stop-methode zodat je het wachten op de uitvoering van taken met timeout kunt onderbreken?
Welke andere percentielen hebt u gebruikt?
// Schrijf een asynchrone taakverwerker als bibliotheek // De client geeft een object (Task) door met gegevens voor het uitvoeren van de taak, // in ons voorbeeld gebruiken we een lege structuur. // De verwerker kan gelijktijdig niet meer dan N taken verwerken, // en niet meer dan X taken kunnen in de wachtrij worden geplaatst voor verwerking. // Als er geen ruimte in de wachtrij is, geven we onmiddellijk een fout terug aan de client. // Een taak wordt verwerkt als er vrije verwerkers beschikbaar zijn. // We simuleren de verwerkingstijd met time.Sleep(5*time.Second). // Zodra een taak is voltooid, pakken we de volgende uit de wachtrij. // Als de wachtrij leeg is, wachten we op nieuwe taken van de klanten. // Met een ster: breid de Task-structuur uit en verkrijg de status van taken via een aparte aanvraag.