阿里Dubbo学习与总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/telrob/article/details/79362885

前言:阿里的Dubbo是一个开源的分布式架构,方便了java的开发,他封装了java Remote Method Invocation(RMI),在项目中只需要引入对应的包,然后进行简单的配置就能够配置出分布式服务。

1.环境配置

    1.1 下载安装 zookeeper

    1.2 下载 dubbo管理工具,然后将war包放在tomcat webapps目录中 在 WEB-INFO目录下面有一个dubbo.properties,里面是dubbo 的登录用户名和密码以及zookeeper的配置然后启动并登录。(效果图)


2.  服务提供者配置

    2.1 maven引入

<!-- dubbo -->
		<dependency>
			<groupId>io.dubbo.springboot</groupId>
			<artifactId>spring-boot-starter-dubbo</artifactId>
			<version>1.0.0</version>
		</dependency>

切记由于有冲突所以一定要去掉spring-boot-devtools依赖

2.2  yum配置文件的配置

spring:
  dubbo:
    application:
      name: provider
    registry:
      address: zookeeper://127.0.0.1:2181
    protocol:
      name: dubbo
      port: 20880
    scan: com.telrob.dubbo.service

由于是服务端,需要端口号,便于对外暴露服务。

2.3 接口以及实现

public interface MDubboServices {
	public String toProvider() throws Exception;
}
@Service(version = "1.0.0") 
public class DemoServicesImpl implements MDubboServices {
	
	public DemoServicesImpl() {
		System.out.println("++++++++++实例化++++++++++++");
	}

	@Override
	public String toProvider() throws Exception {
		System.out.println("hello");
		return "remote Success!";
	}

}

3 调用配置

    3.1 maven 和 “服务提供者配置”一样就不重复了。

    3.2  yum配置文件的配置

spring:
  dubbo:
    application:
      name: consumer
    registry:
      address: zookeeper://127.0.0.1:2181
    scan: com.telrob.dubbo.service

    3.3 代码编写

public interface MDubboServices{
	public String toProvider() throws Exception;
}
@Component
public class MMService {
	
	public MMService() {
		System.out.println("++++++++++++++++++++++++++++");
	}
	@Reference(version = "1.0.0")
	MDubboServices mDubboServices;
	
	public void hhh() throws Exception {
		String str=mDubboServices.toProvider();
		System.out.println("获取到远程服务是:"+str);
	}
}

4 . 总结

    当无法获取提供的服务时一定要检查spring-boot-devtools依赖是否去掉



猜你喜欢

转载自blog.csdn.net/telrob/article/details/79362885
今日推荐