关于Dubbo理论性的知识在这里就不多一一介绍了。下面是本人自己搭建的框架,并在搭建框架时发生问题解决方法。
Dubbo分为:1、dubboconsumer
dubboconsumer 有两个程序一个是Consumer.java,DemoService.java。两个程序
DemoService 里面有两个方法,一个是Sayhello,还有一个是getUsers.
Consumer主要是做一个获取远程服务代理、执行远程方法
2、dubboprovider
其实本博文应该按照Dubbo程序运行的流程来介绍。流程是dubboprovider提供服务向dubboconsumer,dubboconsumer没有dubboprovider的程序运行的服务,dubboconsumer的服务起不来。会报错误:
com.alibaba.dubbo.remoting.RemotingException: client(url: dubbo://192.168.1.130:20880/com.unj.dubbotest.provider.DemoService?anyhost=true&application=first_consumer&check=false&codec=dubbo&dubbo=2.5.2&heartbeat=60000&interface=com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid=10016&side=consumer×tamp=1415603043478)
failed to connect to server /192.168.1.130:20880, error message is:Connection refused: no further information
at com.alibaba.dubbo.remoting.transport.netty.NettyClient.doConnect(NettyClient.java:123) 这个错误就是provider的服务没有起来。
所以先起provider的服务。
provider分为四个程序。1、DemoServiceImpl 2、Provider 3、user 4、DemoService
1、DemoServiceImpl
服务提供者的服务实现
2、Provider
为保证服务一直开着,利用输入流的阻塞来模拟
3、users
本人也不是很清楚为什么要定义变量 并在Consumer 做一个输出的处理
4、DemoService
两个服务sayHello
getUsers
最后在浏览器里输入http://localhost:8080
会出现下面界面
不过服务是起来了,运行效果或者是负载均衡的具体效果不是很清楚有待研究。