dubbo 服务调用示例


dubbo 服务调用示例

           

              

                                 

服务端

              

                            

             

application.yml

spring:
  application:
    name: nacos-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

dubbo:
  #registry:
   # address: spring-cloud://localhost:8848
  protocol:
    name: dubbo
    port: 20880

        

HelloService

@DubboService
public class HelloServiceImpl implements HelloService {

    @Override
    public String hello() {
        return "hello";
    }
}

        

NacosDiscoveryConfiguration(cloud alibaba toolkit自动添加的类)

@EnableDiscoveryClient  //开启服务发现客户端
@Configuration
public class NacosDiscoveryConfiguration {
}

           

DemoApplication

@EnableDubbo      //开启dubbo
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

           

                 

                                 

消费端

  

                            

          

application.yml

spring:
  application:
    name: nacos-consuemr
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

dubbo:
  protocol:
    name: dubbo
    port: 20881

server:
  port: 8081

        

HelloService

public interface HelloService {

    String hello();
}

           

NacosDiscoveryConfiguration

@EnableDiscoveryClient   //开启服务发现客户端
@Configuration
public class NacosDiscoveryConfiguration {
}

          

HelloController

@RestController
public class HelloController {

    @DubboReference
    private HelloService helloService;

    @RequestMapping("/hello")
    public String hello(){
        System.out.println(helloService.hello());

        return "success";
    }
}

         

DemoApplication

@EnableDubbo  //开启dubbo
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

         

           

                                 

使用测试

  

http://localhost:8848/nacos,查看注册的服务:

         

           

localhost:8081/hello,控制台输出:

2022-03-17 20:26:41.197  INFO 894 --- [           main] o.a.d.config.bootstrap.DubboBootstrap    :  [DUBBO] DubboBootstrap has started., dubbo version: 2.7.8, current host: 192.168.5.10
2022-03-17 20:26:41.200  INFO 894 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 4.084 seconds (JVM running for 4.688)
2022-03-17 20:26:42.092  WARN 894 --- [client.listener] a.c.d.m.r.DubboServiceMetadataRepository : Current application will subscribe all services(size:2) in registry, a lot of memory and CPU cycles may be used, thus it's strongly recommend you using the externalized property 'dubbo.cloud.subscribed-services' to specify the services
2022-03-17 20:28:19.180  INFO 894 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-03-17 20:28:19.180  INFO 894 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2022-03-17 20:28:19.197  INFO 894 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 17 ms
hello

消费端可以整成调用远程服务

           

                                    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值