TarsCloud / Tars

Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.
BSD 3-Clause "New" or "Revised" License
9.8k stars 2.08k forks source link

[BUG]当节点经过网关连入主框架时,PUSH配置文件存在问题,无法推送节点配置的内容 #880

Open JanuarYJL opened 2 years ago

JanuarYJL commented 2 years ago

What version of TARS and what language are you using? TarsFramework-3.0.3

What operating system (Linux, Windows, ...) and version? [e.g. CentOS 7.8] Linux&Windows

What runtime/compiler are you using? [e.g. JDK version or version of gcc] docker

Describe the bug 在添加了服务配置和节点配置时(不启用set),PUSH配置文件给经过网关连接上来的节点(已设置nodeid,框架中显示的ip是实际ip)推送文件只会推送服务配置,不会合并节点配置的信息。具体原因是: tars-bug-1 在getScriptFile函数中调用loadConfigByInfo时传入的配置参数是自己新建的对象,构建时只设置了部分信息,不包含host字段 tars-bug-2 后面取host时如果为空则取current->getHostName(),获取到的是连接的实际接入IP,也就是网关IP,而不是节点真实IP tars-bug-3 在最后查库取节点配置时,用网关IP去查,无法获取真正的节点配置,导致推送的配置只有服务配置的内容,没有节点配置的内容。

getScriptFile函数中可以取到_desc.nodeName,这个能确保是实际的ip?用这个字段给host赋值传入是否可以?

To Reproduce

Expected behavior

Screenshots

Additional context

ruanshudong commented 2 years ago

目前是不支持节点通过网关接入