ビジネスオブジェクトを作成する
1. 既存のビジネス オブジェクトをベクター データベースに入れることができます
。 2. 作成する新しいビジネス オブジェクトがない場合は、直接スキップします。
3. 新しいビジネス オブジェクトはユーザーによって手動で作成されます。
即効性のある言葉
あなたが Java ソフトウェア技術専門家であると仮定して、次の yaml 形式に従って対応するエンティティ オブジェクトを生成します。このうち
1、最上位層はオブジェクト名、
2、各キーに対応する値はオブジェクト属性のタイプです。 type はオプションです。指定されていない場合は、コンテキストに従って推論します。
3. 必要に応じてキャッシュ属性を追加できます。
5. 複数のネスト層がある場合、対応するクラスは内部クラスであり、クラス修飾子は次のとおりです。 public static.
以下のyamlに従ってJavaオブジェクトを生成し、lombokを使用してください。
"""
{yaml オブジェクトの説明、詳細については例を参照}
"""
例
あなたが Java ソフトウェア技術専門家であると仮定して、次の yaml 形式に従って対応するエンティティ オブジェクトを生成します。このうち
1、最上位層はオブジェクト名、
2、各キーに対応する値はオブジェクト属性のタイプです。 type はオプションです。指定されていない場合は、コンテキストに従って推論します。
3. 必要に応じてキャッシュ属性を追加できます。
5. 複数のネスト層がある場合、対応するクラスは内部クラスであり、クラス修飾子は次のとおりです。 public static.
以下のyamlに従ってJavaオブジェクトを生成し、lombokを使用してください。
「」
- インスタンス:
名前: 文字列
URL: 文字列
利用可能な: int - lb:
一貫性のあるハッシュ:
リクエスト:
ヘッダー:
キー: 文字列
正規表現: 文字列 - ヘルスチェック:
間隔: 長い - マイクロインスタンス:
名前: 文字列
lb: lb
healthcheck: healthcheck
インスタンス:
- インスタンス - サービスプロパティ:
- マイクロインスタンス
- microserviceInfo:
name: string
名前空間: string
accessurl: string
servicecontext
: string context: string
microinstances:
- microinstance: microinstance
"""
オブジェクトの生成例
@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<>();
}
ビジネスの論理
1. ビジネスオブジェクトに基づいてビジネスロジックを記述する
即効性のある言葉
上記のオブジェクトに従って、以下の業務記述に従って、対応する Java コードを生成します。
1、入力表現メソッドの入力パラメータ
2、プロセッサ表現メソッドの具体的な処理プロセス
3、出力表現メソッドの出力パラメータ
3、対応するクラスはインターフェイス クラスと実装クラスを自動的に実装します。
制約
1. Spring Boot、Spring Cloud Gateway、caffeine、guava テクノロジ スタックを使用します。
2. パッケージ パスは com.example.gateway
"""
{yaml でビジネス ロジックの記述を整理します。フォーマット}
"""
例
上記のオブジェクトに従って、以下の業務記述に従って、対応する Java コードを生成します。
1、入力表現メソッドの入力パラメータ
2、プロセッサ表現メソッドの具体的な処理プロセス
3、出力表現メソッドの出力パラメータ
3、対応するクラスは自動的にインターフェイス クラスと実装クラスを実装します。
制約
1. Spring Boot、Spring Cloud Gateway、caffeine、guava テクノロジ スタックを使用します
。 2. パッケージ パスは com.example.gateway
"""です。
- healthCheckService:
checkservice:
input: null
プロセッサ:
ステップ 1: 構成ファイル application.yanl から spring.cloud.gateway.services 構成を読み取り、それを serviceproperties オブジェクトに解析します。
ステップ 2: serviceproperties 内の各マイクロインスタンスを走査し、
get を通じて microinstance.instances にアクセスします。 webclient のリクエスト の各インスタンスの URL について、例外がスローされた場合、または戻り値が Bad の場合は、
インスタンスの使用可能な値を 0 に設定し、そうでない場合は、インスタンスの使用可能な値を 1 に設定します
。 出力: null
"""
上記のオブジェクトに従って、以下の業務記述に従って、対応する Java コードを生成します。
1、入力表現メソッドの入力パラメータ
2、プロセッサ表現メソッドの具体的な処理プロセス
3、出力表現メソッドの出力パラメータ
3、インターフェイス クラスと実装クラスの
制約を自動的に生成します
。 1. Spring Boot、Spring Cloud Gateway、caffeine、guava テクノロジ スタックを使用します
。 2. パッケージ パスは com.example.gateway
"""です。
- guavaconsistenthashservice: クラス
の説明: 一貫性のあるハッシュ ロード バランシング サービスの
メソッド:
constanthash:
入力:
val: 文字列
バケット: int
プロセッサ:
ステップ 1: guava の Hashing.consistentHash() を使用して一貫性のあるハッシュの
出力を計算します:
インデックス: int - constantHashloadbalanceservice: クラス
の説明: 整合性ハッシュ ロード バランシング サービスの
ロードバランス: null
入力:
交換: ServerWebExchange
microserviceinfo: microserviceInfo
プロセッサ:
ステップ 1: microserviceInfo から整合性ハッシュを読み取り、consistenthash から要求を読み取り、要求からヘッダーを読み取り、ヘッダーから読み取ります。 キー val の値 ステップ 2
: http ヘッダーから val に対応するヘッダー値を読み取ります。
ステップ 3: guavaconsistenthashservice を使用して一貫性のあるハッシュを計算し、instanceIndex を返します。
ステップ 4: microserviceinfo 内のインスタンスから、instanceIndex に対応するインスタンスを読み取り、インスタンス
出力を返します。
インスタンス: インスタンス
"""
ビジネス ロジック (バージョン 2)
上記のオブジェクトに従って、次のビジネス記述に従って対応する Java コードを生成します。ここで、
1. id は関数ポイントを示します
。2. プロセッサーはメソッドの特定の処理プロセスを示します
。3. ステップは特定のステップを示します。
テクノロジー スタック
1、スプリング ブート、スプリング クラウド ゲートウェイ、カフェイン、グアバ
"""
- ヘルスチェックサービス: null
ID: インスタンスが使用可能かどうかを確認します。
プロセッサー:
ステップ 1: 構成ファイル application.yanl から構成 spring.cloud.gateway.services を読み取り、それを解析して
サービスプロパティオブジェクトに
変換します。 ステップ 2: サービスプロパティ内の各マイクロインスタンスを走査します。
ステップ 3 : マイクロインスタンス内のマイクロインスタンスをトラバースする インスタンス内の各インスタンス
ステップ 4: Web クライアントの get リクエストを通じてインスタンスの URL にアクセスする 例外がスローされるか戻り値が Bad の場合、インスタンスのステータスは 0 としてマークされ、それ以外の場合はステータス
が1 としてマークされています - コンシステント ハッシュ ロード バランシング サービス: null
説明: コンシステント ハッシュの計算
プロセス:
step1: microserviceInfo からconsistenthashを読み取り、consistenthash からリクエストを読み取り、
リクエストからヘッダーを読み取り、ヘッダーからキー値 val を読み取る
step2: http ヘッダーから val に対応する値 headervalue を読み取る
step3: guavaconsistenthashservice を使用して一貫したハッシュを計算し、instanceIndex を返します。
step4: microserviceinfo のインスタンスから、instanceIndex に対応するインスタンスを読み取り、instanceIndex を返します。 - コンシステント ハッシュ ロード バランシング サービス: null
ID: コンシステント ハッシュの計算
プロセッサ:
ステップ 1: Guava の Hashing.consistentHash() を使用してコンシステント ハッシュ
"""を計算します。
上陸戦略
1. 検証要件
2. 最初に、関係者がプロンプトの単語を確認して、全員の説明の正確さを訓練する必要があります