一、项目整体结构
整体包括如下子服务:
api 公用的entity和service接口
provider-log log服务提供方
provider-message message服务提供方
consumer 消费方
代码地址链接
spring-boot-dubbo-master.
1.1 api公用的entity和service接口
api添加两个entity和两个service,更有区分性
1.2 consumer消费方
application.yml
server: port: 5051 dubbo: application: name: sea-consumer-web registry: protocol: zookeeper address: localhost:2181 protocol: name: dubbo port: 20551 version: 1.0.0 scan: base-packages: com.web consumer: timeout: 5000 check: false
dubbo.application.name 给provider起的名称 dubbo.registry.address 表示注册的地址,不一定非得是zookeeper dubbo.protocol.name 就是dubbo
dubbo.protocol.port 是注册的端口号,多个提供者使用的port需要区分开来
dubbo.protocol.scan 是表示扫描哪些包下面的服务 version是自定的一个版本属性
1.3 provider-log log服务提供方
两个提供者provider,为的是更有区分性。
发布的服务通过@Service注解,加载被扫描的实现类上面,这里使用的是dubbo的注解。
SmsServiceImpl.java
package com.log.service.impl; import org.apache.dubbo.config.annotation.Service; import com.service.SmsService; /** * 功能描述 */ @Service(version = "${dubbo.version}") public class SmsServiceImpl implements SmsService { @Override public String sendMsg(String msg) { System.out.println("log project"); return "log project send msg is " + msg; } @Override public void sendMsgVoid(String msg) { System.out.println("sendMsgVoid log enter"); int i = 1 / 0; System.out.println("sendMsgVoid log out"); } }
1.4 provider-message message服务提供方
1.5 provider-xxp
二、测试发布
2.1 通过命令行方式查看dubbo服务
telnet 192.168.153.1 20552
回车结果
2.2 通过Web界面查看
将war包放入Tomcat的webapps目录下,解压后,将apache-tomcat-8.5.20\webapps\dubbo-admin-2.5.7\WEB-INF\dubbo.properties修改成自己的zookeeper地址,启动Tomcat,输入
http://localhost:8080/dubbo-admin-2.5.7,账号密码默认都是root
war包下载地址.
2.3 方案测试
http://localhost:5051/hello
http://localhost:5051/aaa
http://localhost:5051/bbb
http://localhost:5051/msg/aaa
http://localhost:5051/msg/ddd