mirror of
https://gitee.com/wujiawei1207537021/wu-lazy-cloud-network.git
synced 2025-06-06 21:37:56 +08:00
Merge remote-tracking branch 'origin/1.2.2-JDK17-SNAPSHOT' into 1.2.2-JDK17-SNAPSHOT
This commit is contained in:
commit
a85125d96a
@ -5,7 +5,7 @@ MAINTAINER wujiawei <1207537021@qq.com>
|
||||
RUN echo "Asia/Shanghai" > /etc/timezone
|
||||
|
||||
|
||||
COPY target/middleground-under-cloud-heartbeat-client /native-app
|
||||
COPY target/lazy-cloud-heartbeat-client /native-app
|
||||
|
||||
ENTRYPOINT ["/bin/sh" ,"-c", "exec ./native-app"]
|
||||
|
||||
|
@ -9,8 +9,8 @@ mvn native:build -Pnative
|
||||
```
|
||||
### 构建docker镜像
|
||||
```shell
|
||||
docker build -t docker-registry.laihui.com/middleground/middleground-under-cloud-heartbeat-client:middleground-2.4.2-native-SNAPSHOT_latest -f Native-Dockerfile .
|
||||
docker push docker-registry.laihui.com/middleground/middleground-under-cloud-heartbeat-client:middleground-2.4.2-native-SNAPSHOT_latest
|
||||
docker build -t docker-registry.laihui.com/lazy/lazy-under-cloud-heartbeat-client:lazy-2.4.2-native-SNAPSHOT_latest -f Native-Dockerfile .
|
||||
docker push docker-registry.laihui.com/lazy/lazy-under-cloud-heartbeat-client:lazy-2.4.2-native-SNAPSHOT_latest
|
||||
```
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ docker push registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-lazy-cloud-heartbeat-cl
|
||||
|
||||
### run
|
||||
```shell
|
||||
docker run -d -it --name client -e spring.middleground.netty.inet-host=124.222.48.62 -e spring.middleground.netty.inet-port=30676 -e spring.middleground.netty.client-id=node1 registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-lazy-cloud-heartbeat-client:server-jdk17-master
|
||||
docker run -d -it --name client -e spring.lazy.netty.inet-host=124.222.48.62 -e spring.lazy.netty.inet-port=30676 -e spring.lazy.netty.client-id=node1 registry.cn-hangzhou.aliyuncs.com/wu-lazy/wu-lazy-cloud-heartbeat-client:server-jdk17-master
|
||||
|
||||
|
||||
|
||||
|
@ -6,7 +6,6 @@ import wu.framework.lazy.cloud.heartbeat.client.application.ClientNettyConfigApp
|
||||
import wu.framework.lazy.cloud.heartbeat.client.netty.socket.NettyClientSocket;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@ -23,9 +22,8 @@ import java.util.concurrent.TimeUnit;
|
||||
*/
|
||||
@Slf4j
|
||||
@Configuration
|
||||
public class AutoConfiguration implements CommandLineRunner {
|
||||
public class ClientAutoConfiguration implements CommandLineRunner {
|
||||
|
||||
private final ServerProperties serverProperties;
|
||||
private final NettyServerProperties nettyServerProperties;
|
||||
private final ClientNettyConfigApplication clientNettyConfigApplication;
|
||||
|
||||
@ -35,11 +33,9 @@ public class AutoConfiguration implements CommandLineRunner {
|
||||
ThreadPoolExecutor NETTY_CLIENT_EXECUTOR = new ThreadPoolExecutor(1, 1, 200, TimeUnit.MILLISECONDS,
|
||||
new ArrayBlockingQueue<>(1));
|
||||
|
||||
public AutoConfiguration(ServerProperties serverProperties,
|
||||
NettyServerProperties nettyServerProperties,
|
||||
ClientNettyConfigApplication clientNettyConfigApplication,
|
||||
List<ChannelTypeAdvanced> channelTypeAdvancedList) {
|
||||
this.serverProperties = serverProperties;
|
||||
public ClientAutoConfiguration(NettyServerProperties nettyServerProperties,
|
||||
ClientNettyConfigApplication clientNettyConfigApplication,
|
||||
List<ChannelTypeAdvanced> channelTypeAdvancedList) {
|
||||
this.nettyServerProperties = nettyServerProperties;
|
||||
this.clientNettyConfigApplication = clientNettyConfigApplication;
|
||||
this.channelTypeAdvancedList = channelTypeAdvancedList;
|
||||
@ -47,7 +43,7 @@ public class AutoConfiguration implements CommandLineRunner {
|
||||
|
||||
|
||||
@Bean(destroyMethod = "shutdown")
|
||||
public NettyClientSocket nettyServerSocket() {
|
||||
public NettyClientSocket nettyClientSocket() {
|
||||
String inetHost = nettyServerProperties.getInetHost();
|
||||
int inetPort = nettyServerProperties.getInetPort();
|
||||
String clientId = nettyServerProperties.getClientId();
|
@ -0,0 +1,66 @@
|
||||
package wu.framework.lazy.cloud.heartbeat.client.netty.config;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Role;
|
||||
import wu.framework.lazy.cloud.heartbeat.client.application.ClientNettyConfigApplication;
|
||||
import wu.framework.lazy.cloud.heartbeat.client.netty.advanced.*;
|
||||
import wu.framework.lazy.cloud.heartbeat.client.netty.config.NettyServerProperties;
|
||||
import wu.framework.lazy.cloud.heartbeat.common.advanced.ChannelTypeAdvanced;
|
||||
|
||||
import java.util.List;
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
public class HeartbeatClientConfiguration {
|
||||
|
||||
/**
|
||||
* 服务端 处理客户端心跳
|
||||
*
|
||||
* @return ClientChannelHeartbeatTypeAdvanced
|
||||
*/
|
||||
@Bean
|
||||
public ClientChannelHeartbeatTypeAdvanced clientChannelHeartbeatTypeAdvanced() {
|
||||
return new ClientChannelHeartbeatTypeAdvanced();
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理 客户端代理的真实端口自动读写
|
||||
* @return ClientDistributeSingleClientRealAutoReadConnectTypeAdvanced
|
||||
*/
|
||||
@Bean
|
||||
public ClientDistributeSingleClientRealAutoReadConnectTypeAdvanced clientDistributeSingleClientRealAutoReadConnectTypeAdvanced(){
|
||||
return new ClientDistributeSingleClientRealAutoReadConnectTypeAdvanced();
|
||||
}
|
||||
@Bean
|
||||
public ClientDistributeSingleClientRealCloseVisitorTypeAdvanced clientDistributeSingleClientRealCloseVisitorTypeAdvanced(){
|
||||
return new ClientDistributeSingleClientRealCloseVisitorTypeAdvanced();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ClientReportChannelTransferTypeAdvanced clientReportChannelTransferTypeAdvanced(NettyServerProperties nettyServerProperties){
|
||||
return new ClientReportChannelTransferTypeAdvanced(nettyServerProperties);
|
||||
}
|
||||
@Bean
|
||||
public DistributeConnectSuccessNotificationTypeAdvanced distributeConnectSuccessNotificationTypeAdvanced(ClientNettyConfigApplication clientNettyConfigApplication, NettyServerProperties nettyServerProperties){
|
||||
return new DistributeConnectSuccessNotificationTypeAdvanced(clientNettyConfigApplication, nettyServerProperties);
|
||||
}
|
||||
@Bean
|
||||
public DistributeDisconnectTypeAdvanced distributeDisconnectTypeAdvanced(ClientNettyConfigApplication clientNettyConfigApplication){
|
||||
return new DistributeDisconnectTypeAdvanced(clientNettyConfigApplication);
|
||||
}
|
||||
@Bean
|
||||
public DistributeStagingClosedTypeAdvanced distributeStagingClosedTypeAdvanced(){
|
||||
return new DistributeStagingClosedTypeAdvanced();
|
||||
}
|
||||
@Bean
|
||||
public DistributeStagingOpenedTypeAdvanced distributeStagingOpenedTypeAdvanced(){
|
||||
return new DistributeStagingOpenedTypeAdvanced();
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public ClientDistributeSingleClientRealConnectTypeAdvanced clientDistributeSingleClientRealConnectTypeAdvanced(NettyServerProperties nettyServerProperties,
|
||||
List<ChannelTypeAdvanced> channelTypeAdvancedList ){
|
||||
return new ClientDistributeSingleClientRealConnectTypeAdvanced(nettyServerProperties,channelTypeAdvancedList);
|
||||
}
|
||||
}
|
@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
@Configuration
|
||||
@Data
|
||||
public class NettyServerProperties {
|
||||
public static final String PREFIX = "spring.middleground.netty";
|
||||
public static final String PREFIX = "spring.lazy.netty";
|
||||
/**
|
||||
* 服务端地址
|
||||
*/
|
||||
@ -23,7 +23,7 @@ public class NettyServerProperties {
|
||||
/**
|
||||
* 服务端path
|
||||
*/
|
||||
private String inetPath = "middleground-on-cloud-heartbeat-server";
|
||||
private String inetPath = "lazy-cloud-heartbeat-server";
|
||||
/**
|
||||
* 客户端ID
|
||||
*/
|
||||
|
@ -11,6 +11,9 @@ import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 客户端访客通信通道 处理器
|
||||
*/
|
||||
@Slf4j
|
||||
public class NettyClientVisitorRealHandler extends SimpleChannelInboundHandler<NettyProxyMsg> {
|
||||
private final ChannelTypeAdapter channelTypeAdapter;
|
||||
|
@ -1,3 +1,6 @@
|
||||
# Auto Configure
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
wu.framework.lazy.cloud.heartbeat.client.EnableHeartbeatClientAutoConfiguration
|
||||
wu.framework.lazy.cloud.heartbeat.client.EnableHeartbeatClientAutoConfiguration,\
|
||||
wu.framework.lazy.cloud.heartbeat.client.netty.config.NettyServerProperties,\
|
||||
wu.framework.lazy.cloud.heartbeat.client.netty.config.ClientAutoConfiguration,\
|
||||
wu.framework.lazy.cloud.heartbeat.client.netty.config.HeartbeatClientConfiguration
|
||||
|
@ -1 +1,4 @@
|
||||
wu.framework.lazy.cloud.heartbeat.client.EnableHeartbeatClientAutoConfiguration
|
||||
wu.framework.lazy.cloud.heartbeat.client.netty.config.NettyServerProperties
|
||||
wu.framework.lazy.cloud.heartbeat.client.netty.config.ClientAutoConfiguration
|
||||
wu.framework.lazy.cloud.heartbeat.client.netty.config.HeartbeatClientConfiguration
|
||||
|
@ -27,6 +27,28 @@
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- <plugin>-->
|
||||
<!-- <groupId>org.graalvm.buildtools</groupId>-->
|
||||
<!-- <artifactId>native-maven-plugin</artifactId>-->
|
||||
<!-- <configuration>-->
|
||||
<!-- <!– imageName用于设置生成的二进制文件名称 –>-->
|
||||
<!-- <imageName>${project.artifactId}</imageName>-->
|
||||
<!-- <!– mainClass用于指定main方法类路径 –>-->
|
||||
<!-- <mainClass>wu.framework.lazy.cloud.heartbeat.client.LazyCloudHeartbeatClient</mainClass>-->
|
||||
<!-- <buildArgs>-->
|
||||
<!-- --no-fallback-->
|
||||
<!-- </buildArgs>-->
|
||||
<!-- </configuration>-->
|
||||
<!-- <executions>-->
|
||||
<!-- <execution>-->
|
||||
<!-- <id>build-native</id>-->
|
||||
<!-- <goals>-->
|
||||
<!-- <goal>compile-no-fork</goal>-->
|
||||
<!-- </goals>-->
|
||||
<!-- <phase>package</phase>-->
|
||||
<!-- </execution>-->
|
||||
<!-- </executions>-->
|
||||
<!-- </plugin>-->
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
|
@ -1,12 +1,12 @@
|
||||
spring:
|
||||
middleground:
|
||||
lazy:
|
||||
netty:
|
||||
# inet-host: 192.168.17.221
|
||||
# inet-port: 4923
|
||||
# inet-path: middleground-on-cloud-heartbeat-server
|
||||
inet-host: 124.222.48.62 # 服务端地址
|
||||
inet-port: 30676 #服务端端口
|
||||
inet-host: 127.0.0.1
|
||||
inet-port: 7001
|
||||
inet-path: middleground-on-cloud-heartbeat-server
|
||||
# inet-host: 124.222.48.62 # 服务端地址
|
||||
# inet-port: 30676 #服务端端口
|
||||
# inet-path: middleground-on-cloud-heartbeat-server
|
||||
client-id: local # 客户端ID
|
||||
data:
|
||||
redis:
|
||||
|
@ -1,12 +0,0 @@
|
||||
|
||||
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: middleground-under-cloud-heartbeat-client
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.17.221:30569
|
||||
config:
|
||||
server-addr: 192.168.17.221:30569
|
@ -6,7 +6,7 @@ spring:
|
||||
password: laihui
|
||||
database: 2
|
||||
datasource:
|
||||
url: jdbc:mysql://127.0.0.1:3306/middleground_cloud_netty_server?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA
|
||||
url: jdbc:mysql://127.0.0.1:3306/lazy_cloud_netty_server?allowMultiQueries=true&useUnicode=true&autoReconnect=true&useAffectedRows=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&databaseTerm=SCHEMA
|
||||
username: root
|
||||
password: wujiawei
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
@ -1,7 +1,9 @@
|
||||
package wu.framework.lazy.cloud.heartbeat.server;
|
||||
|
||||
import com.wu.framework.inner.lazy.stereotype.LazyScan;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
@LazyScan(scanBasePackages = "wu.framework.lazy.cloud.heartbeat.server.infrastructure.entity")
|
||||
@ComponentScan(basePackages = "wu.framework.lazy.cloud.heartbeat.server")
|
||||
public class EnableHeartbeatServerAutoConfiguration {
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ import java.time.LocalDateTime;
|
||||
**/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@LazyTable(tableName = "internal_network_penetration_mapping",schema = "middleground_cloud_netty_server",comment = "内网穿透映射")
|
||||
@LazyTable(tableName = "internal_network_penetration_mapping",comment = "内网穿透映射")
|
||||
@Schema(title = "internal_network_penetration_mapping",description = "内网穿透映射")
|
||||
public class InternalNetworkPenetrationMappingDO {
|
||||
|
||||
|
@ -16,7 +16,7 @@ import java.time.LocalDateTime;
|
||||
**/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@LazyTable(tableName = "netty_client_blacklist", schema = "middleground_cloud_netty_server", comment = "客户端黑名单")
|
||||
@LazyTable(tableName = "netty_client_blacklist", comment = "客户端黑名单")
|
||||
@Schema(title = "netty_client_blacklist", description = "客户端黑名单")
|
||||
public class NettyClientBlacklistDO {
|
||||
|
||||
|
@ -17,7 +17,7 @@ import java.time.LocalDateTime;
|
||||
**/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@LazyTable(tableName = "netty_client_state", schema = "middleground_cloud_netty_server", comment = "客户端状态")
|
||||
@LazyTable(tableName = "netty_client_state", comment = "客户端状态")
|
||||
@Schema(title = "netty_client_state", description = "客户端状态")
|
||||
public class NettyClientStateDO {
|
||||
|
||||
|
@ -0,0 +1,78 @@
|
||||
package wu.framework.lazy.cloud.heartbeat.server.netty.config;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Role;
|
||||
import wu.framework.lazy.cloud.heartbeat.server.application.InternalNetworkPenetrationMappingApplication;
|
||||
import wu.framework.lazy.cloud.heartbeat.server.application.NettyClientBlacklistApplication;
|
||||
import wu.framework.lazy.cloud.heartbeat.server.application.ServerNettyConfigApplication;
|
||||
import wu.framework.lazy.cloud.heartbeat.server.netty.advanced.*;
|
||||
|
||||
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
public class HeartbeatServerConfiguration {
|
||||
|
||||
/**
|
||||
* 服务端 处理客户端心跳
|
||||
*
|
||||
* @return ServerChannelHeartbeatTypeAdvanced
|
||||
*/
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerChannelHeartbeatTypeAdvanced serverChannelHeartbeatTypeAdvanced() {
|
||||
return new ServerChannelHeartbeatTypeAdvanced();
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理 服务端处理客户端数据传输
|
||||
*
|
||||
* @return ServerReportChannelTransferTypeAdvanced
|
||||
*/
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerReportChannelTransferTypeAdvanced serverReportChannelTransferTypeAdvanced() {
|
||||
return new ServerReportChannelTransferTypeAdvanced();
|
||||
}
|
||||
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerReportConnectSuccessTypeAdvanced serverReportConnectSuccessTypeAdvanced(
|
||||
ServerNettyConfigApplication serverNettyConfigApplication,
|
||||
NettyClientBlacklistApplication nettyClientBlacklistApplication,
|
||||
InternalNetworkPenetrationMappingApplication internalNetworkPenetrationMappingApplication) {
|
||||
return new ServerReportConnectSuccessTypeAdvanced(serverNettyConfigApplication, nettyClientBlacklistApplication, internalNetworkPenetrationMappingApplication);
|
||||
}
|
||||
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerReportDisconnectTypeAdvanced serverReportDisconnectTypeAdvanced(ServerNettyConfigApplication serverNettyConfigApplication) {
|
||||
return new ServerReportDisconnectTypeAdvanced(serverNettyConfigApplication);
|
||||
}
|
||||
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerReportSingleClientCloseVisitorTypeAdvanced serverReportSingleClientCloseVisitorTypeAdvanced() {
|
||||
return new ServerReportSingleClientCloseVisitorTypeAdvanced();
|
||||
}
|
||||
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerReportSingleClientRealConnectTypeAdvanced serverReportSingleClientRealConnectTypeAdvanced() {
|
||||
return new ServerReportSingleClientRealConnectTypeAdvanced();
|
||||
}
|
||||
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerReportStagingClosedTypeAdvanced serverReportStagingClosedTypeAdvanced(ServerNettyConfigApplication serverNettyConfigApplication) {
|
||||
return new ServerReportStagingClosedTypeAdvanced(serverNettyConfigApplication);
|
||||
}
|
||||
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@Bean
|
||||
public ServerReportStagingOpenedTypeAdvanced serverReportStagingOpenedTypeAdvanced(ServerNettyConfigApplication serverNettyConfigApplication) {
|
||||
return new ServerReportStagingOpenedTypeAdvanced(serverNettyConfigApplication);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -22,14 +22,14 @@ import java.util.concurrent.TimeUnit;
|
||||
*/
|
||||
@Slf4j
|
||||
@Configuration
|
||||
public class AutoConfiguration implements CommandLineRunner {
|
||||
public class ServerAutoConfiguration implements CommandLineRunner {
|
||||
|
||||
private final ServerProperties serverProperties;
|
||||
private final NettyServerFilter nettyServerFilter;
|
||||
ThreadPoolExecutor NETTY_SERVER_EXECUTOR = new ThreadPoolExecutor(1, 1, 200, TimeUnit.MILLISECONDS,
|
||||
new ArrayBlockingQueue<>(1));
|
||||
|
||||
public AutoConfiguration(ServerProperties serverProperties, NettyServerFilter nettyServerFilter) {
|
||||
public ServerAutoConfiguration(ServerProperties serverProperties, NettyServerFilter nettyServerFilter) {
|
||||
this.serverProperties = serverProperties;
|
||||
this.nettyServerFilter = nettyServerFilter;
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
# Auto Configure
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
wu.framework.lazy.cloud.heartbeat.server.EnableHeartbeatServerAutoConfiguration
|
||||
wu.framework.lazy.cloud.heartbeat.server.EnableHeartbeatServerAutoConfiguration,\
|
||||
wu.framework.lazy.cloud.heartbeat.server.netty.config.HeartbeatServerConfiguration,\
|
||||
wu.framework.lazy.cloud.heartbeat.server.netty.config.ServerAutoConfiguration
|
||||
|
@ -1 +1,3 @@
|
||||
wu.framework.lazy.cloud.heartbeat.server.EnableHeartbeatServerAutoConfiguration
|
||||
wu.framework.lazy.cloud.heartbeat.server.netty.config.HeartbeatServerConfiguration
|
||||
wu.framework.lazy.cloud.heartbeat.server.netty.config.ServerAutoConfiguration
|
||||
|
Loading…
x
Reference in New Issue
Block a user