tcp端口转发工具

GatewayBranch

GatewayBanch是一个基于DotNetty的轻量级端口转发工具

Alt

开源地址

github 地址
gitee 地址

诞生背景

做tcp通讯的朋友可能深有感触,当一个tcp项目上线之后避免不了需要数据转发

解决问题

频繁新增转发的需求

  • 第一次收到转发需求的时候可能花点时间就能实现,测试发布一气呵成
  • 第二次收到转发需求的时候可能你就犯嘀咕了
  • 第三次…
  • 第四次…

项目重构

项目重构后的新旧系统的过渡期

使用

docker

新建docker-compose.yml文件,键入如下内容(开源库将保持最新内容)后执行docker-compose up -d

version: "3"
networks:
  gatewaybranch:
    driver: bridge
    name: branch
services:
  branch-master:
    image: "yedajiang44/gatewaybranch:latest"
    container_name: branch-master
    restart: always
    privileged: true
    environment:
      TZ: Asia/Shanghai
      Gateway__TcpPort: 80 # 监听的端口号
      Gateway__ReaderIdleTimeSeconds: 500
      Gateway__ReaderIdleTimeSeconds: 500
      Gateway__BrabchServerReaderIdleTimeSeconds: 500
      Gateway__BrabchServerWriterIdleTimeSeconds: 500
      Gateway__BrabchServer__0__Ip: 172.20.80.1 # 分流服务1的ip
      Gateway__BrabchServer__0__Port: 809 #分流服务1的端口
      Gateway__BrabchServer__0__NeedReply: 'true' #分流服务1需要下发回复
      Gateway__BrabchServer__1__Ip: 172.20.80.1
      Gateway__BrabchServer__1__Port: 810
      Gateway__BrabchServer__1__NeedReply : 'true'
      NLog__targets__logconsole__type: Console
      NLog__rules__0__logger: "*"
      NLog__rules__0__minLevel: Info
      NLog__rules__0__writeTo: logconsole
    logging:
      driver: "json-file"
      options:
        max-size: "50m"
    sysctls: #内核优化
      - net.ipv4.ip_local_port_range=2048 65535 #可用端口范围
      - net.ipv4.tcp_max_tw_buckets=30 #系统允许TIME_WAIT套接字数量的最大值, 如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。
      - net.ipv4.tcp_tw_reuse=1 #开启重用,表示是否允许将处于TIME-WAIT状态的socket(TIME-WAIT的端口)用于新的TCP连接 。
      - net.ipv4.tcp_fin_timeout=5 #对于本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间(秒)。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。
      - net.ipv4.tcp_timestamps=1 #TCP时间戳(会在TCP包头增加12个字节),以一种比重发超时更精确的方法(参考RFC 1323)来启用对RTT 的计算,为实现更好的性能应该启用这个选项。
    ports:
      - 808:80
    networks:
      - gatewaybranch
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值