瀏覽代碼

添加弹性伸缩接口

tianboguang 2 年之前
父節點
當前提交
0ad2fbc7a0

+ 16 - 0
4dkankan-utils-rubber-sheeting/pom.xml

@@ -11,8 +11,18 @@
 
     <artifactId>4dkankan-utils-rubber-sheeting</artifactId>
 
+    <properties>
+        <commons-codec.verion>1.15</commons-codec.verion>
+        <awsjavasdk.version>2.17.259</awsjavasdk.version>
+    </properties>
+
     <dependencies>
         <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-autoconfigure</artifactId>
+            <version>2.3.12.RELEASE</version>
+        </dependency>
+        <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>
             <version>5.3.13</version>
@@ -22,6 +32,12 @@
             <artifactId>4dkankan-common-utils</artifactId>
             <version>3.0.0-SNAPSHOT</version>
         </dependency>
+
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>${commons-codec.verion}</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 9 - 9
4dkankan-utils-rubber-sheeting/src/main/java/com/fdkankan/rubbersheeting/RubberSheetingUtil.java

@@ -3,10 +3,12 @@ package com.fdkankan.rubbersheeting;
 import com.fdkankan.common.util.OkHttpUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Component;
 
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
+import java.beans.ConstructorProperties;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
@@ -17,7 +19,8 @@ import java.util.*;
  */
 @Slf4j
 @Component
-public class RubberSheetingUtil {
+@ConditionalOnProperty(name = "scaling.type",havingValue = "oss")
+public class AliYunScalingService implements ScalingService{
 
     @Value("${scaling.group.id}")
     private String ScalingGroupId;
@@ -48,16 +51,11 @@ public class RubberSheetingUtil {
         StringBuilder canonicalizedQueryString = new StringBuilder();
         for(String key : sortedKeys) {
             // 这里注意对key和value进行编码
-            canonicalizedQueryString.append("&")
-                    .append(percentEncode(key)).append("=")
-                    .append(percentEncode(parameters.get(key)));
+            canonicalizedQueryString.append("&").append(percentEncode(key)).append("=").append(percentEncode(parameters.get(key)));
         }
-//        System.out.println("canonicalizedQueryString:" + canonicalizedQueryString.toString());
 
         // 这里注意对canonicalizedQueryString进行编码
-        stringToSign.append(percentEncode(
-                canonicalizedQueryString.toString().substring(1)));
-//        System.out.println("stringToSign:" + stringToSign.toString());
+        stringToSign.append(percentEncode(canonicalizedQueryString.toString().substring(1)));
 
         Mac mac = Mac.getInstance(ALGORITHM);
         mac.init(new SecretKeySpec(keySecret.getBytes(ENCODING), ALGORITHM));
@@ -96,6 +94,7 @@ public class RubberSheetingUtil {
 //        }
     }
 
+    @Override
     public String createEcs(){
         try {
 
@@ -151,7 +150,8 @@ public class RubberSheetingUtil {
         return null;
     }
 
-    public String deleteEcs(String id){
+    @Override
+    public  String deleteEcs(String id){
         try {
             boolean tag = true;
             Map<String, String> parameters = null;

+ 43 - 0
4dkankan-utils-rubber-sheeting/src/main/java/com/fdkankan/rubbersheeting/AwsScalingService.java

@@ -0,0 +1,43 @@
+package com.fdkankan.rubbersheeting;
+
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by Hb_zzZ on 2020/8/25.
+ */
+@Component
+@ConditionalOnProperty(name = "scaling.type",havingValue = "aws")
+public class AwsScalingService implements ScalingService{
+
+    /**
+     * The name of the launch configuration created by these tests
+     */
+
+    protected String launchConfigurationName;
+    /**
+     * The name of the autoscaling group created by these tests
+     */
+
+    protected String autoScalingGroupName;
+
+
+    @Override
+    public String createEcs(){
+
+
+        return null;
+    }
+
+
+    @Override
+    public String deleteEcs(String id){
+        try {
+
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+}

+ 10 - 0
4dkankan-utils-rubber-sheeting/src/main/java/com/fdkankan/rubbersheeting/ScalingService.java

@@ -0,0 +1,10 @@
+package com.fdkankan.rubbersheeting;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public interface ScalingService {
+    String createEcs();
+
+    String deleteEcs(String id);
+}