學習Java到了一定程度會接觸到分布式,分布式可以通過解耦整個系統(tǒng)成多個小一些的系統(tǒng),使每個小系統(tǒng)分擔訪問壓力,各個系統(tǒng)又可以建立集群,進行負載訪問壓力,但是每個系統(tǒng)之間訪問需要一種連接方式,通常會使用Http,WebService等等,Dubbo是一個很好的服務治理框架,由阿里巴巴開發(fā),進入正題.
SpringBoot整合dubbo很方便,但是不熟練的話會有很多坑首先服務提供者
1.提供者配置
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://locahost:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.sso.service.service

spring.dubbo.scan一定要注意是你接口實現類的包
然后在每個實現類中添加@Service注解

注解來源
import com.alibaba.dubbo.config.annotation.Service;
可以的話將Dubbo的管理后臺部署好
可以觀察到服務是否已經成功發(fā)布

這樣就算是發(fā)布成功了,接下來就可以配置消費者了
spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://locahost:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=project.webcontroller
這里有一個要注意的地方
spring.dubbo.scan
指的是你在哪個報下使用了@Reference這個注解,這個需要被掃描到
這個沒有配置好你需要的服務永遠得不到,當然獲取的服務對象為空,還有其他的情況,這里就不一一列舉了
在你需要使用服務的地方就像平時注入對象一樣利用@Reference注解進行注入

如果發(fā)布服務時有版本號消費服務也要加上版本號
這樣就算一個簡單的服務發(fā)布和服務消費過程了,,,,