本文主要介紹sprinboot集成dubbo服務,實現微服務治理。。。。。其實集成不難,關鍵是有很多坑,這裏簡單記錄一下相關筆記,以便日後查看。
一、zk+dubbo環境搭建
https://blog.csdn.net/qq_15901351/article/details/86562305
https://blog.csdn.net/zh15732621679/article/details/77102270
二、主要步驟
參考博客:
https://blog.csdn.net/cowbin2012/article/details/85777055
https://blog.csdn.net/qq_35713827/article/details/95071617
springboot2.12+maven+jdk8+zk+dubbo
1、添加dubbo相關依賴
<!--dubbo-springBoot依賴 -->
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- zkclient客戶端 -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
2、添加properties相關配置
提供者:
#dubbo應用名稱
spring.dubbo.application.name=provider
#註冊地址 N/A表示直連方式(默認),zookeeper地址及端口號
spring.dubbo.registry.address=N/A
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo協議、端口號
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20881
#啓動時檢查(check),關閉所有服務的啓動時檢查
spring.dubbo.consumer.check=false
#超時 默認1000
spring.dubbo.consumer.timeout=10000
#超時後,重試次數
spring.dubbo.consumer.retries=3
消費者:
消費端:
spring.application.name=consumer
spring.dubbo.registry=zookeeper://127.0.0.1:2181
3、編寫提供者和消費者
生產者:編寫提供的接口,在接口實現類上使用@Service暴露服務
public interface RemoteService {
String getSomeList(String id);
}
import org.springframework.stereotype.Component;
import com.alibaba.dubbo.config.annotation.Service;
import com.crk.webServer.dubbo.RemoteService;
// @Service暴露服務 com.alibaba.dubbo.config.annotation.Service這個包
@Component
@Service(version = "1.0.0",timeout = 10000,interfaceClass = RemoteService.class)
public class RemoteServiceImpl implements RemoteService {
@Override
public String getSomeList(String id) {
// TODO Auto-generated method stub
return "hello,world!===="+id;
}
}
消費者:編寫需要調用的接口,使用@Reference引用服務
@Reference(version = "1.0.0")
private RemoteService remoteService;
4、先啓動提供者服務,在啓動消費者服務,查看dubbo管理後臺。
https://blog.csdn.net/chenpeixing361/article/details/88561381