亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決Dubbo應(yīng)用啟動(dòng)注冊(cè)ZK獲取IP慢的原因之一

 更新時(shí)間:2024年04月15日 10:31:32   作者:椰樹海島  
這篇文章主要介紹了解決Dubbo應(yīng)用啟動(dòng)注冊(cè)ZK獲取IP慢的原因之一,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Dubbo應(yīng)用啟動(dòng)注冊(cè)ZK獲取IP慢的原因之一

突然有一天,我的idea啟動(dòng)應(yīng)用慢了,要3分鐘才能啟動(dòng)完畢。

主要看到的log中有

No valid ip found from environment, try to find valid host from DNS.

看了一下是主要是dubbo注冊(cè)的時(shí)候慢,我一度以為公司的對(duì)我的ip有做限制了,因?yàn)槠渌藛?dòng)又很快。

1:第一次思路是我自己下載了zk運(yùn)行起來注冊(cè)到本地來看看,也是照樣慢。

2:idea慢,我設(shè)置了idea的啟動(dòng)最大內(nèi)存為2G,這之前我沒設(shè)置過,后發(fā)現(xiàn)也無效。

3:我一度以為我的IP vpn做了轉(zhuǎn)發(fā)引起的,或者電腦安裝了什么軟件導(dǎo)致慢了。最后發(fā)現(xiàn)也不是。

            [TID: N/A|] o.a.d.r.z.ZookeeperRegistry              :  [DUBBO] Register: dubbo://127.0.0.1:20880/com.xxx.api.server.sys.XxxFacade?application=mydemo-server&deprecated=false&dubbo=2.0.2&release=2.7.4.1&timeout=60000&timestamp=1628244643743, dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:43.983  INFO [           main]
            [TID: N/A|] o.a.d.r.z.ZookeeperRegistry              :  [DUBBO] Subscribe: provider://127.0.0.1:20880/com.xxx.api.server.sys.XxxFacade?anyhost=true&application=mydemo-server&bean.name=ServiceBean:com.xxx.api.server.sys.XxxFacade&bind.ip=127.0.0.1&bind.port=20880&category=configurators&check=false&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.xxx.api.server.sys.XxxFacade&methods=listNewOrganizations,listTreeCmdbOrg,listTCOrg&pid=24334&qos.enable=false&release=2.7.4.1&side=provider&timeout=60000&timestamp=1628244643743, dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:44.098  INFO [           main]
            [TID: N/A|] o.a.d.r.z.ZookeeperRegistry              :  [DUBBO] Notify urls for subscribe url provider://127.0.0.1:20880/com.xxx.api.server.sys.XxxFacade?anyhost=true&application=mydemo-server&bean.name=ServiceBean:com.xxx.api.server.sys.XxxFacade&bind.ip=127.0.0.1&bind.port=20880&category=configurators&check=false&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.xxx.api.server.sys.XxxFacade&methods=listNewOrganizations,listTreeCmdbOrg,listTCOrg&pid=24334&qos.enable=false&release=2.7.4.1&side=provider&timeout=60000&timestamp=1628244643743, urls: [override://10.216.7.243:20880/com.xxx.api.server.sys.XxxFacade?category=configurators&disabled=true&dynamic=false&enabled=true], dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:44.099  INFO [           main]
            [TID: N/A|] o.a.d.c.AbstractConfig                   :  [DUBBO] The service ready on spring started. service: com.xxx.api.facade.DailyFacade, dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:44.099  INFO [Report-thread-1]
            [TID: N/A|] o.a.d.m.s.z.ZookeeperMetadataReport      :  [DUBBO] store provider metadata. Identifier : org.apache.dubbo.metadata.identifier.MetadataIdentifier@3e661e1b; definition: FullServiceDefinition{parameters={side=provider, release=2.7.4.1, methods=listNewOrganizations,listTreeCmdbOrg,listTCOrg, deprecated=false, dubbo=2.0.2, interface=com.xxx.api.server.sys.XxxFacade, qos.enable=false, timeout=60000, generic=false, delay=0, application=mydemo-server, dynamic=true, bean.name=ServiceBean:com.xxx.api.server.sys.XxxFacade, anyhost=true}} ServiceDefinition [canonicalName=com.xxx.api.server.sys.XxxFacade, codeSource=file:/Users/cookie.joo/IdeaProjects/mydemo/mydemo-api/target/classes/, methods=[MethodDefinition [name=listNewOrganizations, parameterTypes=[], returnType=com.xxx.common.entity.RpcResult], MethodDefinition [name=listTreeCmdbOrg, parameterTypes=[], returnType=com.xxx.common.entity.RpcResult], MethodDefinition [name=listTCOrg, parameterTypes=[], returnType=com.xxx.common.entity.RpcResult]]], dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:44.108  INFO [           main]
            [TID: N/A|] o.a.d.c.AbstractConfig                   :  [DUBBO] No valid ip found from environment, try to find valid host from DNS., dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:44.169  INFO [           main]
            [TID: N/A|] o.a.d.c.AbstractConfig                   :  [DUBBO] Export dubbo service com.xxx.api.facade.DailyFacade to local registry url : injvm://127.0.0.1/com.xxx.api.facade.DailyFacade?anyhost=true&application=mydemo-server&bean.name=ServiceBean:com.xxx.api.facade.DailyFacade&bind.ip=127.0.0.1&bind.port=20880&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.xxx.api.facade.DailyFacade&methods=jiraRequestCheck,checkRdRequest,jiraSearch,remind&pid=24334&qos.enable=false&release=2.7.4.1&side=provider&timeout=60000&timestamp=1628244644105, dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:44.169  INFO [           main]
            [TID: N/A|] o.a.d.c.AbstractConfig                   :  [DUBBO] There's no valid monitor config found, if you want to open monitor statistics for Dubbo, please make sure your monitor is configured properly., dubbo version: 2.7.4.1, current host: 127.0.0.1
2021-08-06 18:10:44.169  INFO [           main]

我繼續(xù)看日志中的類

主要是很多次 [DUBBO] Register: 出現(xiàn)這一句的時(shí)候會(huì)卡一下

繼續(xù)出現(xiàn)下一個(gè)接口注冊(cè)又卡一下,我大概已經(jīng)猜測就是ip尋址的問題了

最后我從代碼中看到了org.apache.dubbo.common.utils.NetUtils#getLocalHost這個(gè)方法

斷點(diǎn)后確實(shí)是這個(gè)方法有點(diǎn)卡頓,差不多幾秒才有反應(yīng)的。

我搜了一些文章確實(shí)是反應(yīng)了這個(gè)getHostAddress的問題,要設(shè)置hostname和127.0.0.1的映射關(guān)系

我就設(shè)置了hosts,然后啟動(dòng)確實(shí)好了,恢復(fù)到幾十秒內(nèi)啟動(dòng)完畢。(hostname是機(jī)器名)

其中的問題是getHostAddress是使用native本地方法來獲取的,如果沒有配置好映射會(huì)出現(xiàn)調(diào)用方法卡頓的問題。

class Inet4AddressImpl implements InetAddressImpl {
    public native String getLocalHostName() throws UnknownHostException;

如果啟動(dòng)項(xiàng)目要這么久,開發(fā)代碼到測試階段一定會(huì)很痛苦,這個(gè)問題不解決,以后工作效率肯定會(huì)奔潰。

注意:

注冊(cè)接口到zk時(shí)打印日志會(huì)有個(gè)空隙,并不是平滑的日志打印那種感覺,這就是問題的現(xiàn)象。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java8中Optional類型和Kotlin中可空類型的使用對(duì)比

    Java8中Optional類型和Kotlin中可空類型的使用對(duì)比

    這篇文章主要給大家介紹了關(guān)于Java8中Optional類型和Kotlin中可空類型的使用對(duì)比,文中通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • SpringBoot 對(duì)象存儲(chǔ) MinIO的詳細(xì)過程

    SpringBoot 對(duì)象存儲(chǔ) MinIO的詳細(xì)過程

    MinIO 是一個(gè)基于 Go 實(shí)現(xiàn)的高性能、兼容 S3 協(xié)議的對(duì)象存儲(chǔ),它適合存儲(chǔ)海量的非結(jié)構(gòu)化的數(shù)據(jù),這篇文章主要介紹了SpringBoot 對(duì)象存儲(chǔ) MinIO,需要的朋友可以參考下
    2023-07-07
  • 使用jenkins部署springboot項(xiàng)目的方法步驟

    使用jenkins部署springboot項(xiàng)目的方法步驟

    這篇文章主要介紹了使用jenkins部署springboot項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Springboot actuator生產(chǎn)就緒功能實(shí)現(xiàn)解析

    Springboot actuator生產(chǎn)就緒功能實(shí)現(xiàn)解析

    這篇文章主要介紹了Springboot actuator生產(chǎn)就緒功能實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java獲取路徑的6種方式代碼示例

    Java獲取路徑的6種方式代碼示例

    在Java中獲取路徑的方法有多種,每種方法適用于不同的場景,這篇文章主要介紹了Java獲取路徑的6種方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • Java線程阻塞的方法區(qū)別詳解

    Java線程阻塞的方法區(qū)別詳解

    這篇文章主要介紹了Java線程阻塞的方法區(qū)別詳解,線程阻塞是指當(dāng)一個(gè)線程無法繼續(xù)執(zhí)行時(shí),它會(huì)進(jìn)入阻塞狀態(tài),直到某個(gè)條件滿足后才能繼續(xù)執(zhí)行,線程阻塞可以通過多種方式實(shí)現(xiàn),如等待鎖、等待IO操作、等待其他線程的完成等,需要的朋友可以參考下
    2023-10-10
  • Java實(shí)現(xiàn)彈窗效果的基本操作(2)

    Java實(shí)現(xiàn)彈窗效果的基本操作(2)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)彈窗效果的基本操作第二篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Spring編程式和聲明式事務(wù)實(shí)例講解小結(jié)

    Spring編程式和聲明式事務(wù)實(shí)例講解小結(jié)

    這篇文章主要介紹了Spring編程式和聲明式事務(wù)實(shí)例講解小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • springboot項(xiàng)目實(shí)現(xiàn)多數(shù)據(jù)源配置使用dynamic-datasource-spring-boot-starter的操作步驟

    springboot項(xiàng)目實(shí)現(xiàn)多數(shù)據(jù)源配置使用dynamic-datasource-spring-boot-starter

    這篇文章主要介紹了springboot項(xiàng)目實(shí)現(xiàn)多數(shù)據(jù)源配置使用dynamic-datasource-spring-boot-starter,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 詳解java迭代器模式

    詳解java迭代器模式

    這篇文章主要介紹了java迭代器模式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論