Dubbo:Dubbo Admin環境搭建


1.Zookeeper環境搭建

這里不再贅述。。

2.下載Dobbo Admin

https://github.com/apache/dubbo-admin,點擊該網址,下載並解壓。

 解壓后,是這樣的目錄。進入dubbo-admin-ui,命令行運行npm install(前提已經安裝node環境),安裝依賴。然后npm run dev,這樣前端環境就搭建和運行成功了。

導入該項目到idea,進入dubbo-admin-server,這是一個普通的spring boot項目,先修改配置文件application.properties,將注冊中心的配置修改好。

 然后運行springboot項目。進入localhost:8081,看到如下界面,說明基本搭建完成。

網頁的賬號密碼都是root.

 3.創建ZK元數據中心節點

在代碼中寫一個test方法,創建如下節點,否則前端會報無元數據信息的錯。

或者手動在zookeeper的命令行手動執行命令添加節點數據。

public class Test {
    public static void main(String[] args) {
        try {
            CuratorFramework zkClient = CuratorFrameworkFactory.builder().
                    connectString("192.168.10.132:2181").
                    retryPolicy(new ExponentialBackoffRetry(1000, 3)).build();
            zkClient.start();

            if (zkClient.checkExists().forPath("/dubbo/config/dubbo/dubbo.properties") == null) {
                zkClient.create().creatingParentsIfNeeded().forPath("/dubbo/config/dubbo/dubbo.properties");
            }
            zkClient.setData().forPath("/dubbo/config/dubbo/dubbo.properties", ("dubbo.registry.address=zookeeper://192.168.10.132:2181\n" +
                    "dubbo.metadata-report.address=zookeeper://192.168.10.132:2181").getBytes());

        }catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4.測試dubbo

新建一個maven項目,引入dubbo依賴。

maven依賴:這里注意dubbo的版本要與dubbo admin中的dubbo版本一致,否則會出現一些奇怪的錯誤。

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>2.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.8.0</version>
        </dependency>

  applicationContext.xml

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
       http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

    <dubbo:application name="dubbo-server-provider"/>
    <dubbo:registry address="zookeeper://192.168.10.132:2181"/>
    <dubbo:protocol name="dubbo" port="10000"/>
    <dubbo:service interface="com.wj.UserService" ref="userServiceImpl"/>

    <bean id="userServiceImpl" class="com.wj.service.impl.UserServiceImpl"/>
</beans>

 UserServiceImpl.java

public class UserServiceImpl implements UserService {

    @Override
    public List<User> getAll() {
        User user1 = new User(1, "張三", 12, "北京");
        User user2 = new User(2, "李四", 13, "北京");
        return Arrays.asList(user1, user2);
    }
}

 主方法:

public class ProviderMain {
    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        context.start();
        System.in.read();
    }
}

 運行該主方法,到dubbo admin的頁面觀察。可以看到發布的服務。

這里如果服務為空,可以將dubbo項目的主方法重新運行、dubbo admin的boot項目重新運行,應該就可以看到服務了。

點擊詳情,可以看到服務的詳細信息。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM