Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When nacos client use endpoint, the registration center should support configuring context-path and cluster-name like the configuration center #10792

Closed
huhongjie2014 opened this issue Jul 15, 2023 · 0 comments · Fixed by #10793
Labels
area/Client Related to Nacos Client SDK kind/enhancement Category issues or prs related to enhancement.
Milestone

Comments

@huhongjie2014
Copy link
Contributor

Describe the bug
When nacos clients use nacos endpoint, the registration center should support configuring context-path and cluster-name like the configuration center
当nacos client使用endpoint时,注册中心应该像配置中心一样支持配置 context-path and cluster-name

When I use the following configuration, application launch failed, please note that I am using the nacos endpoint.
当我使用如下配置时,程序启动失败,请注意我使用了 nacos endpoint

spring:
  application:
    name: test-service
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        endpoint: localhost:8080
        context-path: /nacos
        cluster-name: china
        namespace:
        username: nacos
        password: nacos
        group: test
      discovery:
        endpoint: localhost:8080
        context-path: /nacos
        cluster-name: china
        namespace:
        username: nacos
        password: nacos
        group: test

configuration center - The address is correct
配置中心 - 地址正确

com.alibaba.nacos.client.config.impl.ServerListManager#initAddressServerUrl
private void initAddressServerUrl(NacosClientProperties properties) {
        ...
        StringBuilder addressServerUrlTem = new StringBuilder(
                String.format("http://%s:%d%s/%s", this.endpoint, this.endpointPort,
                        ContextPathUtil.normalizeContextPath(this.contentPath), this.serverListName));
        ...
    }

addressServerUrlTem=http://localhost:8080/nacos/china      

registration center - The address is incorrect
注册中心 - 地址错误

com.alibaba.nacos.client.naming.core.ServerListManager#getServerListFromEndpoint
private List<String> getServerListFromEndpoint() {
        ...
        // Hard coded, configuration not supported  此处硬编码,不支持配置
        String urlString = HTTP_PREFIX + endpoint + "/nacos/serverlist";
        ...
}
urlString=http://localhost:8080/nacos/serverlist

Expected behavior
When nacos client use endpoint, the registration center should support configuring context-path and cluster-name like the configuration center
当nacos client使用endpoint时,注册中心应该像配置中心一样支持配置 context-path and cluster-name

Actually behavior
When nacos client use endpoint, the registration center not support configuring context-path and cluster-name
当nacos client使用endpoint时,注册中心不支持配置 context-path and cluster-name

huhongjie2014 added a commit to huhongjie2014/nacos that referenced this issue Jul 15, 2023
… center should support configuring context-path and cluster-name like the configuration center
@KomachiSion KomachiSion added kind/enhancement Category issues or prs related to enhancement. area/Client Related to Nacos Client SDK labels Jul 17, 2023
@KomachiSion KomachiSion added this to the 2.3.0 milestone Jul 17, 2023
KomachiSion pushed a commit that referenced this issue Jul 25, 2023
… should support configuring context-path and cluster-name like the configuration center (#10793)
realJackSun added a commit that referenced this issue Aug 10, 2023
…lop branch (#10942)

* [ISSUE #10734] Implement http request param check filter and http param extractors (#10758)

* For #10734,Implement grpc server interceptor and grpc param extractors

* For #10734,add unit test for grpc server interceptor and grpc param extractors

* For #10734,alter the test case

* For #10734,delete the ConnectionSetupRequestParamExtractor

* For #10734,add the naming http request param check filter and implement the naming http request param extractors

* For #10734,add unit test for naming http request param extractors

* For #10734,Implement grpc server interceptor and grpc param extractors

* For #10734,add unit test for grpc server interceptor and grpc param extractors

* For #10734,delete the ConnectionSetupRequestParamExtractor

* For #10734,add the naming http request param check filter and implement the naming http request param extractors

* For #10734,add unit test for naming http request param extractors

* For #10734,add the config http request param check filter and implement the config http request param extractors and unit test

* For #10734,add the console http request param check filter and implement the console http request param extractors and unit test

* For #10734,fix code style

* For #10734,alter the logic of exception handle in filter

* For #10734,fix code style

* dump change check task submit (#10755)

* dump change check task submit

* delete config nid convert error fix

* fix test case

* checkstyle

* Refactor grpc tls (#10759)

* Move Tls negotiator to GrpcSdkServer.

* use protocol negotiator builder replace directly create.

* use SPI load negotiator and set tls as default negotiator.

* Remove tlsconfig in BaseRpcServer.

* Add some ut.

* For checkstyle.

* fix word spelling in `AuthenticationManagerDelegator` (#10777)

* fix(#10427): When the execution of handleServerRequest() encounters an exception, record the log and throw an exception, then quickly response to the server errResponse (#10770)

* fix(#10585): selectInstances and selectOneHealthyInstance methods, if the parameter subscribe is true. Subscription is required when clientProxy.isSubscribe() is false. (#10805)

* disable check port input when use registered port (#10799)

* Add the handle to overload connection (#10783)

* add the handle to overload connection

* fast return

* [ISSUE #10662]Prometheus-sd add namespace and service api (#10663)

* add apis

* add tests

* fix checkstyle

* param namespace to namespaceId

* namespace to namespaceId

* fix test case

* fix test case

* Service instance should display related color when healthy or unhealthy (#10811)

* fix a couple of invaild props (#10810)

* feat(#10539): When the operation configuration fails, log. (#10804)

* [ISSUE #10744]feat:Add HealthControllerV2 and HealthControllerV2Test (#10786)

* [ISSUE #10744]feat:Add HealthControllerV2 and HealthControllerV2Test

* fix:V2 api return Result

* [ISSUE #10734] Refactor the ParamChecker and ParamExtractor (#10775)

* For #10734,refactor the paramextractor and ParamChecker

* For #10734,alter the rules of ParamCheck

* For #10734,alter the rules of ParamCheck

* For #10734,fix bug

* For #10734,fix bug and alter the ParamCheckRules.java

* For #10734,fix code style

* For #10734,fix the param check rules

* For #10734,implement the server param check config

* For #10734,optimize the logic

* For #10734,optimize the logic

* For #10734,optimize the logic

* Refactor Prometheus Module (#10827)

* Refactor Prometheus Module

* Complete Test Case

* format

* format

* For #10734,fix the param check rule (#10826)

* [ISSUE #10792]When nacos client use endpoint, the registration center should support configuring context-path and cluster-name like the configuration center (#10793)

* Reactor code in datasource-plugin (#10791)

* Reactor code in datasource-plugin

* Fix Abstract Mapper Test Case

* Add Empty Check

* Fix Checkstyle

* fix checkstyle

* fix check style

* fix check style

* Fix CheckStyle

* Fix SQL Blank

* bugfix for PersistentClientOperationServiceImpl log (#10825)

* For #10734,fix the param check rule (#10858)

* fix(#10831): When using the deregisterInstance method to remove one of multiple instances registered by batchRegisterInstance, all instances registered by batchRegisterInstance will be removed. (#10836)

* UnsupportedFeatureError (#10860)

* fix(distro): fix issue#10880. (#10881)

* feat(#5608 && #10223): When the custom instance id is empty, the id will be automatically generated. (#10812)

* fix: test-code branch (#10904)

* add nacos ci

* delete client version of nacos ci

* fix: test-code branch

* console-ui 新增 toml 语言支持,修复之前 properties 主题未生效的问题 (#10896)

* console-ui 新增 toml 语言支持,修复之前 properties 主题未生效的问题

* console-ui 新增 toml 语言支持,修复之前 properties 主题未生效的问题

* 老规矩,要编译一波

* feat(10891): Provide a configuration item for the maximum number of push retries, instead of directly hardcoding it to 50 times in the code. (#10895)

* [ISSUE #10824] Remove udp port param for v1-client (#10914)

* Remove UDP Param

* Fix gRPC client

* fix test case

* fix test case

* fix test case

* fix test case

* Fix login failed when close auth.

---------

Co-authored-by: Sunrisea <49605583+Sunrisea@users.noreply.github.com>
Co-authored-by: nov.lzf <liuzunfei@gmail.com>
Co-authored-by: 杨翊 SionYang <xiweng.yy@alibaba-inc.com>
Co-authored-by: ZhangShenao <15201440436@163.com>
Co-authored-by: blake.qiu <46370663+Bo-Qiu@users.noreply.github.com>
Co-authored-by: Joey777210 <53630996+Joey777210@users.noreply.github.com>
Co-authored-by: chenyiqin <83362909+Daydreamer-ia@users.noreply.github.com>
Co-authored-by: maoling <11016631+maoling@users.noreply.github.com>
Co-authored-by: DiligenceLai <96920907+DiligenceLai@users.noreply.github.com>
Co-authored-by: huhongjie2014 <139250842+huhongjie2014@users.noreply.github.com>
Co-authored-by: lu-xiaoshuang <121755080+lu-xiaoshuang@users.noreply.github.com>
Co-authored-by: zt9788 <zt9788@users.noreply.github.com>
Co-authored-by: 阿魁 <670569467@qq.com>
Co-authored-by: wuyfee <30968107+Wuyunfan-BUPT@users.noreply.github.com>
Co-authored-by: Darren Luo <jn296@qq.com>
Co-authored-by: xxc <xchaos8@126.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/Client Related to Nacos Client SDK kind/enhancement Category issues or prs related to enhancement.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants