Créer des objets métier
1. Les objets métier existants peuvent être placés dans la base de données vectorielle
2. S'il n'y a pas de nouvel objet métier à créer, passez directement
3. Les nouveaux objets métier sont créés manuellement par l'utilisateur
mot rapide
En supposant que vous êtes un expert technique du logiciel Java, générez l'objet entité correspondant selon le format yaml suivant, parmi lesquels
1, la couche la plus haute est le nom de l'objet
2, et la valeur correspondant à chaque clé est le type d'attribut de l'objet ; le type est facultatif, s'il n'y a pas Si spécifié, vous déduirez selon le contexte
3. Vous pouvez ajouter des attributs d'encaissement si nécessaire
5. S'il y a plusieurs couches d'imbrication, la classe correspondante est une classe interne et le modificateur de classe est public static
Veuillez générer un objet Java selon le yaml suivant et utiliser lombok.
"""
{description de l'objet yaml, reportez-vous à l'exemple pour plus de détails}
"""
exemple
En supposant que vous êtes un expert technique du logiciel Java, générez l'objet entité correspondant selon le format yaml suivant, parmi lesquels
1, la couche la plus haute est le nom de l'objet
2, et la valeur correspondant à chaque clé est le type d'attribut de l'objet ; le type est facultatif, s'il n'y a pas Si spécifié, vous déduirez selon le contexte
3. Vous pouvez ajouter des attributs d'encaissement si nécessaire
5. S'il y a plusieurs couches d'imbrication, la classe correspondante est une classe interne et le modificateur de classe est public static
Veuillez générer un objet Java selon le yaml suivant et utiliser lombok.
"""
- instance :
nom : chaîne
url : chaîne
disponible : entier - lb :
hash cohérent :
requête :
en-tête :
clé : chaîne
regex : chaîne - bilan de santé :
intervalle : long - microinstance :
nom : chaîne
lb : lb
healthcheck :
instances de vérification de l'état :
- instance - propriétés de service :
- micro-instance
- microserviceInfo :
nom : chaîne
namespace : chaîne
accessurl : chaîne
servicecontext : chaîne
context : chaîne
microinstances :
- microinstance : microinstance
"""
générer un exemple d'objet
@Data
public class Instance {
private String name;
private String url;
private Integer available;
}
@Data
public class Lb {
@Singular("consistentHash")
private List<ConsistentHash> consistentHashes = new ArrayList<>();
@Data
public static class ConsistentHash {
private Request request;
@Data
public static class Request {
private Map<String, String> headers = new HashMap<>();
}
}
}
@Data
public class HealthCheck {
private Long interval;
}
@Data
public class MicroInstance {
private String name;
private Lb lb;
private HealthCheck healthcheck;
private Set<Instance> instances = new HashSet<>();
}
@Data
public class ServiceProperties {
@Singular
private List<MicroInstance> microInstances = new ArrayList<>();
}
@Data
public class MicroServiceInfo {
private String name;
private String namespace;
private String accessUrl;
private String serviceContext;
private String context;
private ServiceProperties serviceProperties;
private Set<MicroInstance> microInstances = new LinkedHashSet<>();
}
Logique métier
1. Décrire la logique métier basée sur des objets métier
mot rapide
Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante
1, le paramètre d'entrée de la méthode de représentation d'entrée
2, le processus de traitement spécifique de la méthode de représentation du processeur
3, le paramètre de sortie de la méthode de représentation de sortie
3, la classe correspondante implémente automatiquement la classe d'interface et
les contraintes de la classe d'implémentation
1. Utilisez le démarrage de printemps, la passerelle de cloud de printemps, la caféine, la pile technologique de goyave
2. Le chemin du package est com.example.gateway
"""
{organiser la description de la logique métier dans yaml format}
"""
exemple
Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante
1, le paramètre d'entrée de la méthode de représentation d'entrée
2, le processus de traitement spécifique de la méthode de représentation du processeur
3, le paramètre de sortie de la méthode de représentation de sortie
3, la classe correspondante implémente automatiquement la classe d'interface et la classe d'implémentation
Contraintes
1. Utilisez Spring Boot, Spring Cloud Gateway, Caféine, Goyave Technology Stack
2. Le chemin du package est com.example.gateway
"""
- healthCheckService:
checkservice:
input: null
processor:
step1 : Lire la configuration spring.cloud.gateway.services à partir du fichier de configuration application.yanl et l'analyser dans un objet serviceproperties
step2 : Parcourir chaque microinstance dans serviceproperties et
accéder à microinstance.instances via le get request of webclient Pour l'url de chaque instance dans , si une exception est levée ou si la valeur de retour est Bad, mettez la
valeur available de l'instance à 0, sinon mettez la valeur available de l'instance à 1
output: null
"""
Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante
1, le paramètre d'entrée de la méthode de représentation d'entrée
2, le processus de traitement spécifique de la méthode de représentation du processeur
3, le paramètre de sortie de la méthode de représentation de sortie
3, générer automatiquement la classe d'interface et la classe d'implémentation
Contrainte
1. Utiliser Spring Boot, Spring Cloud Gateway, caféine, goyave technology stack
2. Le chemin du package est com.example.gateway
"""
guavaconsistenthashservice : description de la classe :
méthodes de service d'équilibrage de charge de hachage cohérent :
cohérenthash :
entrée :
val :
compartiments de chaîne : int
processeur :
étape 1 : utilisez Hashing.consistentHash() de guava pour calculer
la sortie de hachage cohérente :
index : int- consistentHashloadbalanceservice : description de la classe
: équilibre de charge du service d'équilibrage de charge de hachage cohérent : entrée
nulle : échange : ServerWebExchange microserviceinfo : processeur microserviceInfo : étape 1 : lire le hachage cohérent à partir de microserviceInfo, lire la demande à partir de hash cohérent, lire l'en-tête à partir de la demande, lire à partir de l'en-tête La valeur de la clé val step2 : Lire la valeur d'en-tête correspondant à val à partir de l'en-tête http étape3 : utiliser guavaconsistenthashservice pour calculer le hachage cohérent, renvoyer instanceIndex étape4 : lire l'instance correspondant à instanceIndex à partir des instances dans microserviceinfo, renvoyer la sortie de l'instance : instance : instance """
Logique métier (version 2)
Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante, où
1. id indique le point de fonction
2. processor indique le processus de traitement spécifique de la méthode
3. step indique les étapes spécifiques
Technology stack
1, botte printanière, passerelle cloud printanière, caféine, goyave
"""
- Service de vérification de l'état : ID nul
: vérifiez si l'instance est disponible
processeur :
étape 1 : lisez la configuration spring.cloud.gateway.services à partir du fichier de configuration application.yanl et analysez-la dans
un objet serviceproperties
étape 2 : traversez chaque micro-instance dans les propriétés de service
étape 3 : traverse la microinstance dans la microinstance Chaque instance dans les instances
step4 : Accéder à l'url de l'instance via la requête get du webclient. Si une exception est levée ou que la valeur de retour est Bad, le statut de l'instance est
marqué à 0, sinon le statut est marqué comme 1 - Service d'équilibrage de charge de hachage cohérent : null
Description : Calculer le hachage cohérent
Processus :
étape 1 : Lire le hachage cohérent à partir de microserviceInfo, lire la demande à partir de cohérenthash,
lire l'en-tête à partir de la demande, lire la valeur de la clé val à partir de l'en-tête
étape 2 : Lire la valeur headervalue correspondant à val à partir de l'en-tête http
étape3 : utiliser guavaconsistenthashservice pour calculer le hachage cohérent et renvoyer l'instanceIndex
étape4 : lire l'instance correspondant à l'instanceIndex à partir des instances dans microserviceinfo et renvoyer l'instance - Service d'équilibrage de charge de hachage cohérent : ID nul
: Calculer le processeur de hachage cohérent
:
étape 1 : Utiliser Hashing.consistentHash() de Guava pour calculer le hachage cohérent
"""
stratégie d'atterrissage
1. Exigences de vérification
2. Au début, les personnes concernées doivent vérifier les mots-clés pour entraîner l'exactitude de la description de chacun