feat():before testRunner

master
Saisai Liu 2024-06-14 14:56:44 +08:00
parent a99369e58b
commit a412e584db
5 changed files with 13 additions and 58 deletions

View File

@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.mobai.domain.StayTime; import com.mobai.domain.StayTime;
import com.mobai.mq.rabbitmq.cofig.MqttFactory; import com.mobai.mq.rabbitmq.cofig.MqttFactory;
import com.mobai.mq.rabbitmq.cofig.MqttProperties;
import com.mobai.service.StayTimeService; import com.mobai.service.StayTimeService;
import com.mobai.util.RedisService; import com.mobai.util.RedisService;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -67,7 +65,7 @@ public class MessageHandler {
// 事件内容 // 事件内容
JSONObject jsonObject = JSON.parseObject(msg); JSONObject jsonObject = JSON.parseObject(msg);
String clientId = JSON.to(String.class, jsonObject.get("clientId")); String clientId = JSON.to(String.class, jsonObject.get("clientId"));
if (!clientId.contains("VIN")) { if (!(clientId.contains("-") && clientId.contains("."))) {
log.error("不是车辆事件::{}",message); log.error("不是车辆事件::{}",message);
try { try {
channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);
@ -76,18 +74,7 @@ public class MessageHandler {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
if (!clientId.contains("-")){
try {
throw new ServletException("不是vin——ip");
} catch (ServletException e) {
try {
channel.basicReject(message.getMessageProperties().getDeliveryTag(),false);
} catch (IOException ex) {
throw new RuntimeException(ex);
}
throw new RuntimeException(e);
}
}
String[] split = clientId.split("-"); String[] split = clientId.split("-");
String vin = split[0]; String vin = split[0];
String ip = split[1]; String ip = split[1];

View File

@ -7,9 +7,6 @@ import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody; import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody;
import com.aliyun.tea.TeaException; import com.aliyun.tea.TeaException;
import com.mobai.domain.MqttServerModel; import com.mobai.domain.MqttServerModel;
import com.mobai.domain.Result;
import com.mobai.domain.flux.ApifoxModel;
import com.mobai.service.FluxGetInfoService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -113,7 +110,6 @@ public class SelectInstances {
} else { } else {
log.error("诊断地址::{}", error.getData().get("Recommend")); log.error("诊断地址::{}", error.getData().get("Recommend"));
} }
com.aliyun.teautil.Common.assertAsString(error.message); com.aliyun.teautil.Common.assertAsString(error.message);
} }
List<SmallNode> nodes = new ArrayList<>(); List<SmallNode> nodes = new ArrayList<>();
@ -155,7 +151,6 @@ public class SelectInstances {
log.info("{}可负载率(权重值){}", ip, probability); log.info("{}可负载率(权重值){}", ip, probability);
} }
Set<String> ipSet = arithmet.keySet(); Set<String> ipSet = arithmet.keySet();
BigDecimal finalSum = sum; BigDecimal finalSum = sum;
Map<String, Integer> map = new HashMap<>(); Map<String, Integer> map = new HashMap<>();
// 转换成数量 // 转换成数量
@ -191,7 +186,6 @@ public class SelectInstances {
log.info("排列ip,{}", ips); log.info("排列ip,{}", ips);
Boolean mqttIp = redisTemplate.delete("mqttIp"); Boolean mqttIp = redisTemplate.delete("mqttIp");
ips.forEach(mqtt -> redisTemplate.opsForList().leftPush("mqttIp", JSON.toJSONString(mqtt))); ips.forEach(mqtt -> redisTemplate.opsForList().leftPush("mqttIp", JSON.toJSONString(mqtt)));
} }

View File

@ -39,30 +39,5 @@ public class MqttRunner implements ApplicationRunner {
// 存入mqttIp // 存入mqttIp
selectInstances.saveIps(); selectInstances.saveIps();
// List<String> ips = redisService.getList("mqttIp");
// List<MqttServerModel> list = ips.stream().distinct().map(str -> JSON.parseObject(str, MqttServerModel.class)).toList();
// list.forEach(mqttServerModel -> {
// MqttProperties mqttProperties = MqttProperties.configBuild(mqttServerModel.getBroker(), mqttServerModel.getTopic());
//// MqttProperties mqttProperties = new MqttProperties();
//// mqttProperties.setBroker("tcp://39.98.69.92:1883");
//// mqttProperties.setTopic("mqtt/test");
// mqttProperties.setUsername("emqx");
// mqttProperties.setPassword("public");
//// mqttProperties.setClientid("subscribe_client");
// int qos = 0;
// try {
// MqttClient client = new MqttFactory(new MqttCallBackServiceImpl()).buildOptions(mqttProperties);
// // 连接参数
// MqttConnectOptions options = GetOptions.getMqttOptionas(mqttProperties);
// // 设置回调
// client.setCallback(new MqttCallBackServiceImpl());
// // 进行连接
// client.connect(options);
// client.subscribe(mqttProperties.getTopic(), qos);
// } catch (Exception e) {
// e.printStackTrace();
// }
// });
} }
} }

View File

@ -2,7 +2,6 @@ package com.mobai.service.impl;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.aliyun.ecs20140526.models.DescribeInstancesResponse; import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody;
import com.mobai.domain.*; import com.mobai.domain.*;
import com.mobai.domain.flux.ApifoxModel; import com.mobai.domain.flux.ApifoxModel;
import com.mobai.openApi.SelectInstances; import com.mobai.openApi.SelectInstances;
@ -40,6 +39,7 @@ public class FluxGetInfoServiceImpl implements FluxGetInfoService {
@Autowired @Autowired
private SelectInstances selectInstances; private SelectInstances selectInstances;
/** /**
* ip * ip
* *
@ -94,11 +94,12 @@ public class FluxGetInfoServiceImpl implements FluxGetInfoService {
log.info("下标:{}", index); log.info("下标:{}", index);
// List<String> fluxmq = redis.opsForList().range("mqttIp", 0, 5); // List<String> fluxmq = redis.opsForList().range("mqttIp", 0, 5);
String mqttIp = redis.opsForList().index("mqttIp", index); String mqttIp = redis.opsForList().index("mqttIp", index);
// log.info(fluxmq); // log.info(fluxmq);
log.info(mqttIp); log.info(mqttIp);
MqttServerModel mqttServerModel = JSON.parseObject(mqttIp, MqttServerModel.class); MqttServerModel mqttServerModel = JSON.parseObject(mqttIp, MqttServerModel.class);
if (index + 1 == redis.opsForList().size("fluxMq")) { if (index + 1 == 100) {
redis.delete("fluxMqIndex"); redis.opsForValue().set("fluxMqIndex", 0 + "");
} }
log.info("已获取到对象:{}", mqttServerModel); log.info("已获取到对象:{}", mqttServerModel);
return Result.success(mqttServerModel); return Result.success(mqttServerModel);
@ -119,5 +120,3 @@ public class FluxGetInfoServiceImpl implements FluxGetInfoService {
return Result.success(collect); return Result.success(collect);
} }
} }
// 达到60%开启新服务30%关闭低实例

View File

@ -2,11 +2,11 @@ server:
port: 8081 port: 8081
spring: spring:
redis: redis:
host: 43.142.100.73 host: 175.24.138.82
port: 6379 port: 6379
password: password:
rabbitmq: rabbitmq:
host: 43.142.100.73 host: 175.24.138.82
stream: stream:
username: guest username: guest
password: guest password: guest