Vous avez parlé du modèle de lecture avec Redis. Redis était-il répliqué entre les centres de données?
Golang
Comment obtiendriez-vous, en une seule requête, la liste des vendeurs non bloqués, en ayant une table avec tous les vendeurs et une autre uniquement avec les vendeurs bloqués?
Si vous effectuez une requête synchrone à la base de données ou à un service voisin, et que la requête prend 5 secondes, que se passera-t-il avec le thread du système d'exploitation sur lequel le service est en cours d'exécution pendant que la requête est en cours d'exécution?
La façade accède à 10 services internes (chacun de 100-300 ms) plus à un service global en Chine (500 ms), le temps de réponse total est d'environ 3,5 secondes. Comment résoudriez-vous ce problème pour accélérer le traitement?
As-tu des questions pour ton collègue?
Si l'un des services que vous utilisez renvoie une erreur, que ferez-vous et comment le gérerez-vous si vous avez un canal?
Aviez-vous une seule passerelle de service à l'entrée, avec laquelle tous les partenaires (B2B) communiquaient ? Combien d'instances tournait-elle ?
Comment faire pour ne pas aller du tout au service qui tombera forcément ou sera inaccessible?
Redis stockait-il les données uniquement en mémoire ou y avait-il une sauvegarde sur disque ? Que se passera-t-il si Redis tombe en panne ?
Comment était calculé le RPS — tu additionnais simplement la charge de tous les leviers ou comment?
S'il y a une tâche importante, par exemple un fichier de 10 Go avec des réglages ligne par ligne, et qu'il faut traiter chaque ligne (par exemple, mettre un point à la fin), les goroutines aideraient-elles à accélérer ce travail?
Dans le langage Go, il existe des goroutines, qui sont des threads légers. Peux-tu expliquer comment tu comprends quand il faut utiliser une goroutine et quand ce n'est pas nécessaire?
Devrait-on peut-être commencer à utiliser des goroutines pour augmenter la vitesse, par exemple, dix fois plus vite en utilisant dix goroutines?
As-tu peur du traqueur de temps ? Pourquoi ?
Combien de canaux seraient nécessaires pour organiser ce mécanisme si l'on utilise des canaux pour collecter les résultats des services?
Combien de centres de données avez-vous eu : un ou plusieurs?
Comment identifier le goulot d'étranglement lors du traitement d'un fichier — si le traitement ligne par ligne semble lent, mais les goroutines traitent en boucle?
Comment avez-vous implémenté l'atomicité de l'écriture dans Redis ? Quel algorithme avez-vous utilisé (script Lua) ?
Tu as dit que tu avais un service qui écoute Kafka et met à jour le cache dans Redis, n'est-ce pas?
Le service se contentait-il de distribuer des données depuis le cache, ou effectuait-il une autre logique?