zoukankan      html  css  js  c++  java
  • Failed to bind NettyServer on /169.254.116.120:20880, cause: Failed to bind to: /0.0.0.0:20880解决方案

    昨天在搭建dubbo+zookeeper项目时,两次用同一个端口20880作为提供者,结果是端口号被占用。

    网上得解决方法有很多:

    方案1:是改dubboprovider.xml里端口号将20880改成别的端口比如如20881

    方案2:直接关闭之前20880端口提供的服务,即重复使用20880

    方案3:修改tomcat里server.xml里的属性将

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">修改为:

    <Host appBase="webapps" autoDeploy="false" deployOnStartup="false" name="localhost" unpackWARs="true">


    但是以上方案都不太令我满意,因为理论上同一个服务可以有多个提供者。于是去dubbo的官网寻找解决方法,还是找到了比较优雅的解决方式:

    贴出截图一张以供思考:

     所以接下来目的已经很明确——将provider.xml里port=20880属性值修改为-1

    <dubbo:protocol name="dubbo" port="-1"></dubbo:protocol>

     这样可以解决同一个端口号占用的问题,而且同一个服务有多个提供者,再来一张效果图:

     可以看到端口号的确是从20880开始递增,不过还有一点需要思考,就是这么多端口自动生成,该如何维护。如果您有更好的观点,欢迎补充>>>

  • 相关阅读:
    yii 引入文件
    CodeForces 621C Wet Shark and Flowers
    面试题题解
    POJ 2251 Dungeon Master
    HDU 5935 Car(模拟)
    HDU 5938 Four Operations(暴力枚举)
    CodeForces 722C Destroying Array(并查集)
    HDU 5547 Sudoku(dfs)
    HDU 5583 Kingdom of Black and White(模拟)
    HDU 5512 Pagodas(等差数列)
  • 原文地址:https://www.cnblogs.com/timingstarts/p/12591397.html
Copyright © 2011-2022 走看看