Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
browser-backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
browser-backend
Commits
ee2e3236
Commit
ee2e3236
authored
Sep 15, 2024
by
chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
轻量级服务器自测
parent
7ff8ded8
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
97 additions
and
26 deletions
+97
-26
IpResourceServiceImpl.java
...erbackend/browser/service/Impl/IpResourceServiceImpl.java
+30
-9
BrowserTask.java
...va/com/edgec/browserbackend/browser/task/BrowserTask.java
+25
-4
TenCentEcsClient.java
.../edgec/browserbackend/common/client/TenCentEcsClient.java
+27
-0
RegionMappingEnum.java
.../edgec/browserbackend/common/enums/RegionMappingEnum.java
+15
-13
No files found.
src/main/java/com/edgec/browserbackend/browser/service/Impl/IpResourceServiceImpl.java
View file @
ee2e3236
...
...
@@ -1169,17 +1169,38 @@ public class IpResourceServiceImpl implements IpResourceService {
}
}
else
if
(
"tenCent"
.
equals
(
cloudPlatformOrder
.
getPlatformType
())){
RenewInstancesResponse
response
=
TenCentEcsClient
.
renewInstance
(
ipResource
.
getOwner
(),
cloudPlatformOrder
.
getRegionId
(),
cloudPlatformOrder
.
getPlatformOrderId
(),
period
);
if
(
null
==
response
)
{
logger
.
error
(
"fail to renew ip : {}"
,
JSON
.
toJSON
(
response
));
}
else
if
(
Objects
.
nonNull
(
response
.
getRequestId
())){
IPData
ipData
=
new
IPData
();
ipData
.
setIp
(
ipResource
.
getAddr
());
ipDataList
.
add
(
ipData
);
CloudPlatformConfig
config
=
cloudPlatformConfigRepository
.
findByPlatformAndRegionId
(
"tenCent"
,
cloudPlatformOrder
.
getRegionId
());
if
(
StringUtils
.
isNotEmpty
(
config
.
getTemplateId
()))
{
RenewInstancesResponse
response
=
TenCentEcsClient
.
renewInstance
(
ipResource
.
getOwner
(),
cloudPlatformOrder
.
getRegionId
(),
cloudPlatformOrder
.
getPlatformOrderId
(),
period
);
if
(
null
==
response
)
{
logger
.
error
(
"fail to renew ip : {}"
,
JSON
.
toJSON
(
response
));
}
else
if
(
Objects
.
nonNull
(
response
.
getRequestId
())){
IPData
ipData
=
new
IPData
();
ipData
.
setIp
(
ipResource
.
getAddr
());
ipDataList
.
add
(
ipData
);
}
}
else
{
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
RenewInstancesResponse
response
=
TenCentEcsClient
.
renewInstanceLight
(
ipResource
.
getOwner
(),
cloudPlatformOrder
.
getRegionId
(),
cloudPlatformOrder
.
getPlatformOrderId
(),
period
);
if
(
null
==
response
)
{
logger
.
error
(
"fail to renew ip : {}"
,
JSON
.
toJSON
(
response
));
}
else
if
(
Objects
.
nonNull
(
response
.
getRequestId
())){
IPData
ipData
=
new
IPData
();
ipData
.
setIp
(
ipResource
.
getAddr
());
ipDataList
.
add
(
ipData
);
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
ipDataList
))
{
...
...
src/main/java/com/edgec/browserbackend/browser/task/BrowserTask.java
View file @
ee2e3236
...
...
@@ -243,7 +243,7 @@ public class BrowserTask {
CreateInstancesResponse
response1
=
TenCentEcsClient
.
createInstances
(
ipResource
.
getOwner
(),
ipResource
.
getUsername
(),
ipResource
.
getPassword
(),
config
);
if
(
null
!=
response1
&&
null
=
=
response1
.
getInstanceIdSet
())
{
if
(
null
!=
response1
&&
null
!
=
response1
.
getInstanceIdSet
())
{
instanceId
=
response1
.
getInstanceIdSet
()[
0
];
}
}
...
...
@@ -431,7 +431,7 @@ public class BrowserTask {
CloudPlatformConfig
config
=
cloudPlatformConfigRepository
.
findByPlatformAndRegionId
(
"tenCent"
,
cloudPlatformOrder
.
getRegionId
());
if
(
StringUtils
.
isEmpty
(
config
.
get
Platform
()))
{
if
(
StringUtils
.
isEmpty
(
config
.
get
TemplateId
()))
{
//轻量级服务器
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
DescribeInstancesResponse
describeInstancesLight
=
TenCentEcsClient
.
getDescribeInstancesLight
(
ipResource
.
getOwner
(),
...
...
@@ -446,8 +446,7 @@ public class BrowserTask {
if
(
instance
.
getInstanceState
().
equals
(
"RUNNING"
))
{
ipResource
.
setAddr
(
instance
.
getPublicAddresses
()[
0
]);
ipResource
.
setStatus
(
0
);
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd'T'HH:mmX"
);
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ISO_INSTANT
;
Instant
instant
=
Instant
.
from
(
formatter
.
parse
(
instance
.
getExpiredTime
()));
ipResource
.
setValidTime
(
instant
.
toEpochMilli
());
...
...
@@ -620,6 +619,28 @@ public class BrowserTask {
}
}
else
if
(
"tenCent"
.
equals
(
cloudPlatformOrder
.
getPlatformType
()))
{
//判断是否为轻量级
CloudPlatformConfig
config
=
cloudPlatformConfigRepository
.
findByPlatformAndRegionId
(
"tenCent"
,
cloudPlatformOrder
.
getRegionId
());
if
(
StringUtils
.
isEmpty
(
config
.
getTemplateId
()))
{
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
DescribeInstancesResponse
describeInstancesLight
=
TenCentEcsClient
.
getDescribeInstancesLight
(
ipResource
.
getOwner
(),
cloudPlatformOrder
.
getPlatformOrderId
(),
cloudPlatformOrder
.
getRegionId
());
if
(
Objects
.
nonNull
(
describeInstancesLight
.
getInstanceSet
()))
{
//判断是否重复购买
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
Instance
instance
=
describeInstancesLight
.
getInstanceSet
()[
0
];
if
(
instance
.
getInstanceState
().
equals
(
"RUNNING"
))
{
//包年包夜 更新ip状态
ipResource
.
setStatus
(
0
);
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ISO_INSTANT
;
Instant
instant
=
Instant
.
from
(
formatter
.
parse
(
instance
.
getExpiredTime
()));
ipResource
.
setValidTime
(
instant
.
toEpochMilli
());
ipResourceRepository
.
save
(
ipResource
);
}
}
return
;
}
com
.
tencentcloudapi
.
cvm
.
v20170312
.
models
.
DescribeInstancesResponse
describeInstances
=
TenCentEcsClient
.
getDescribeInstances
(
ipResource
.
getOwner
(),
cloudPlatformOrder
.
getPlatformOrderId
(),
cloudPlatformOrder
.
getRegionId
());
...
...
src/main/java/com/edgec/browserbackend/common/client/TenCentEcsClient.java
View file @
ee2e3236
...
...
@@ -291,4 +291,31 @@ public class TenCentEcsClient {
return
describeInstancesResponse
;
}
/**
* 续费轻量级实例
*/
public
static
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
RenewInstancesResponse
renewInstanceLight
(
String
owner
,
String
regionId
,
String
instanceId
,
Integer
period
){
LighthouseClient
cvmClient
=
createLightHouseClient
(
regionId
);
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
RenewInstancesResponse
response
=
null
;
try
{
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
RenewInstancesRequest
req
=
new
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
RenewInstancesRequest
();
String
[]
instanceIds
=
{
""
+
instanceId
+
""
};
req
.
setInstanceIds
(
instanceIds
);
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
InstanceChargePrepaid
instanceChargePrepaid1
=
new
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
InstanceChargePrepaid
();
instanceChargePrepaid1
.
setPeriod
((
long
)
period
);
req
.
setInstanceChargePrepaid
(
instanceChargePrepaid1
);
log
.
info
(
"调用TenCentEcs续费轻量级实例,入参:owner:{},regionId:{},instanceId:{},period:{}"
,
owner
,
regionId
,
instanceId
,
period
);
response
=
cvmClient
.
RenewInstances
(
req
);
log
.
info
(
"调用TenCentEcs续费轻量级实例,响应参数:owner:{},response:{}"
,
owner
,
JSON
.
toJSON
(
response
));
}
catch
(
Exception
e
)
{
log
.
error
(
"fail to TenCentEcs renewInstance {}"
,
e
.
getMessage
());
}
return
response
;
}
}
src/main/java/com/edgec/browserbackend/common/enums/RegionMappingEnum.java
View file @
ee2e3236
package
com
.
edgec
.
browserbackend
.
common
.
enums
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Random
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
org.thymeleaf.expression.Lists
;
/**
* @Description //地区映射枚举
...
...
@@ -31,22 +33,22 @@ public enum RegionMappingEnum {
US_CALIFORNIA
(
"california"
,
"加利福尼亚"
,
""
,
""
),
//待确认
US_VIRGINIA
(
"virginia"
,
"弗吉尼亚"
,
"us-east-1"
,
""
),
EU_UK
(
"uk"
,
"英国-伦敦"
,
"eu-west-1"
,
""
),
EU_CENTRAL
(
"germany"
,
"德国-法兰克福"
,
"eu-central-1"
,
""
),
JAPAN
(
"japan"
,
"日本-东京"
,
"ap-northeast-1"
,
""
),
SINGAPORE
(
"singapore"
,
"新加坡"
,
"ap-southeast-1"
,
""
),
EU_CENTRAL
(
"germany"
,
"德国-法兰克福"
,
"eu-central-1"
,
"
eu-frankfurt
"
),
JAPAN
(
"japan"
,
"日本-东京"
,
"ap-northeast-1"
,
"
ap-tokyo
"
),
SINGAPORE
(
"singapore"
,
"新加坡"
,
"ap-southeast-1"
,
"
ap-singapore
"
),
AUSTRALIA
(
"australia"
,
"澳大利亚-悉尼"
,
""
,
""
),
//待确认
MALAYSIA
(
"malaysia"
,
"马来西亚-吉隆坡"
,
"ap-southeast-3"
,
""
),
YAJIADA
(
"yajiada"
,
"印度尼西亚-雅加达"
,
"ap-southeast-5"
,
""
),
INDIA
(
"india"
,
"孟买"
,
""
,
""
),
//待确认
YAJIADA
(
"yajiada"
,
"印度尼西亚-雅加达"
,
"ap-southeast-5"
,
"
ap-jakarta
"
),
INDIA
(
"india"
,
"孟买"
,
""
,
"
ap-mumbai
"
),
//待确认
MEAST
(
"meast"
,
"迪拜"
,
"me-east-1"
,
""
),
BRAZIL
(
"brazil"
,
"巴西-圣保罗"
,
""
,
"sa-saopaulo"
),
ULANNQAB
(
"ulanqab"
,
"乌兰察布"
,
"cn-wulanchabu"
,
""
),
SILICON
(
"silicon"
,
"美国(硅谷)"
,
"us-west-1"
,
""
),
SILICON
(
"silicon"
,
"美国(硅谷)"
,
"us-west-1"
,
"
na-siliconvalley
"
),
NANJING
(
"nanjing"
,
"南京"
,
""
,
"ap-nanjing"
),
BANGKOK
(
"bangkok"
,
"泰国(曼谷)"
,
"ap-southeast-7"
,
""
),
MANILA
(
"manila"
,
"菲律宾-马尼拉"
,
"ap-southeast-6"
,
""
),
SEOUL
(
"seoul"
,
"韩国-首尔"
,
"ap-northeast-2"
,
""
),
SEOUL
(
"seoul"
,
"韩国-首尔"
,
"ap-northeast-2"
,
"
ap-seoul
"
),
;
...
...
@@ -117,17 +119,17 @@ public enum RegionMappingEnum {
* @date 2024/7/30 21:40
*/
public
static
String
getTenCentRegion
(
String
region
)
{
String
ali
Resion
=
""
;
String
tenCent
Resion
=
""
;
RegionMappingEnum
byRegion
=
getByRegion
(
region
);
if
(
Objects
.
isNull
(
byRegion
)){
return
ali
Resion
;
return
tenCent
Resion
;
}
if
(
region
.
equals
(
"mainland"
)){
RegionMappingEnum
regionMappingEnum
=
RegionMappingEnum
.
getCnRandom
();
ali
Resion
=
regionMappingEnum
.
getTenCentRegionApi
();
tenCent
Resion
=
regionMappingEnum
.
getTenCentRegionApi
();
}
else
{
ali
Resion
=
byRegion
.
getTenCentRegionApi
();
tenCent
Resion
=
byRegion
.
getTenCentRegionApi
();
}
return
ali
Resion
;
return
tenCent
Resion
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment