1. 程式人生 > >dubbo服務配置

dubbo服務配置

  1. 、Dubbo註冊中心配置
    1.1 dubbo.properties方式
    如果是一個單機的zookeeper服務,可以通過配置dubbo.registry.address=zookeeper://ip:port來告訴Dubbo使用使用zookeeper來實現註冊中心,並且zookeeper的地址是ip:port。
    如果是一個叢集的zookeeper,配置引數還是一樣,只是引數的值稍微有點變化,對應的引數應該配置成dubbo.registry.address=zookeeper://ip0:port0?backup=ip1:port1, ip2:port2,….,ipi:porti,…,ipn:portn。
    1.2 spring容器xml管理方式
    區別是上面通過properties來配置只能配置一個註冊中心,但是通過xml來配置可以配置多個註冊中心,並且可以將某個服務繫結到哪些註冊中心,如果需要多個註冊中心,就在xml多配置一個<dubbo:registry/>
    標籤,同時需要繫結不同的id屬性值,用於區分。這種方式的其他引數也是類似配置,這裡指spring的xml,必須是spring容器能夠載入的到的xml,否則dubbo是無法得知的
    1.3 他常用的引數
    這裡寫圖片描述
  2. Dubbo 服務提供方配置
    2.1 Spring的XML來暴露服務
    <dubbo:protocol name=”dubbo” port=”20884” server=”netty”/>則配置了一個dubbo協議,服務埠是20884,並且是使用netty作為服務端進行通訊,除了netty之外還有mina。Dubbo除了支援dubbo協議,還支援其他協議比如webservice、http、rmi等
    2.2 properties配置服務釋出
    這裡寫圖片描述
  3. Dubbo 服務消費方配置
    3.1 同步訂閱遠端服務
    3.1.1 你的應用是消費端也是提供端,在配置提供端配置了註冊中心,就不必再次配置了。這裡配置的註冊中心需要注意的是消費端的註冊中心需要和釋出對應服務的提供端同一個註冊中心,否則無法發現需要的服務資訊。消費端的配置首選需要做的是在Spring的XML裡面新增Dubbo引用服務相關配置,配置如下:<dubbo:reference id="demoService" interface="com.alibaba.dubbo.demo.DemoService " check="false" />接下來只需要將demoService注入到對應的Bean裡面即可以。如下配置即可注入遠端的服務到一個Bean中
    <bean class="com.alibaba.dubbo.demo.consumer.DemoAction" init-method="start">
    <property name="demoService" ref="demoService" />
    </bean>

    3.2 非同步呼叫服務方式一
    <dubbo:reference id="demoService" interface="com.alibaba.dubbo.demo.DemoService" check="false" async="true" />

    這裡寫圖片描述
    3.3 非同步呼叫服務方式二
    <dubbo:reference id="demoService" interface="com.alibaba.dubbo.demo.DemoService " check="false">
    <dubbo:method name="sayHello" async="true"/>
    </dubbo:reference>