Spring Boot + Nacos + Dubbo + Dubbo Admin

关于微服务调用,之前接触的比较多的是 Spring Cloud 服务间调用,都是 Http Rest 服务调用,优点就是方便,兼容性好,集成性高,但如果追求高效,建议使用 Dubbo,使用的 RPC 服务,都是 TCP 长连接,不会造成资源浪费。

Nocos

其实 ZooKeeper 更好,但是咱注册中心和配置用的这个,就不搞事了

https://nacos.io/zh-cn/

这里下载当前最新版本,v2.0.3,解压后启动路径 \nacos\bin\startup.cmd
Spring Boot + Nacos + Dubbo + Dubbo Admin_第1张图片
登录地址:http://127.0.0.1:8848/nacos/index.html#/login
账号/密码:nacos/nacos

Dubbo Admin

这个是 Dubbo 后台管理页面,可有可无,没有也不影响使用

https://github.com/apache/dubbo-admin

  1. 这里下载当前最新版本,v0.4.0
  2. 添加配置路径:\apache-dubbo-admin-0.4.0-bin-release\bin\config\application.properties
# nacos config, add parameters to url like username=nacos&password=nacos
admin.registry.address=nacos://127.0.0.1:8848
admin.config-center=nacos://127.0.0.1:8848
admin.metadata-report.address=nacos://127.0.0.1:8848
  1. 解压后启动路径 \apache-dubbo-admin-0.4.0-bin-release\bin\startup.cmd
  2. 登录:http://localhost:2399/#/login
  3. 账号/密码:root/root
    Spring Boot + Nacos + Dubbo + Dubbo Admin_第2张图片

dubbo-interface

interface 包暴露提供给调用方,无实现类

public interface ApiServiceFacade {

	/**
	 * 查询
	 */
	BaseResponse<Object> queryDataList();

}

dubbo-impl

提供 Facade 接口-实现类-不对外暴露
添加 Dubbo 依赖,当前版本 v3.0.4

        
            org.apache.dubbo
            dubbo-spring-boot-starter
            ${dubbo.version}
        

添加 nacos 依赖,当前版本 v2.0.3

        
            com.alibaba.nacos
            nacos-client
            ${nacos-client.version}
        

添加 facade 接口

        
            com.example.dubbo
            dubbo-interface
        

添加配置

server:
  port: 9090

dubbo:
  application:
    name: dubbo-impl
  registry:
    address: 'nacos://127.0.0.1:8848'
  scan:
    basePackages: 'com.example.dubbo.impl'

添加 facade 实现类

/**
 * 实现类
 *
 * @author jason
 */
@Slf4j
@Service
@DubboService(version = "1.0.0", timeout = 6000)
public class ApiServiceFacadeImpl implements ApiServiceFacade {

	@Override
	public BaseResponse<Object> queryDataList() {
		return BaseResponse.success();
	}

}

dubbo-client

依赖同上
添加配置

server:
  port: 9091

dubbo:
  application:
    name: dubbo-client
  registry:
    address: 'nacos://127.0.0.1:8848'
  scan:
    basePackages: 'com.example.dubbo.impl'

测试调用 Dubbo Facede 接口

	@DubboReference(version = "1.0.0")
	private ApiServiceFacade apiServiceFacade;

	/**
	 * http://127.0.0.1:9091/test/list
	 */
	@GetMapping("list")
	public Object list() {
		return apiServiceFacade.queryDataList();
	}

Spring Boot + Nacos + Dubbo + Dubbo Admin_第3张图片

源码下载

你可能感兴趣的:(Spring,Boot,spring,boot,nacos,dubbo,dubbo,admin)