当前位置: 首页 > 后端技术 > Java

如何基于SpringBoot快速开发一个Dubbo微服务应用

时间:2023-04-01 20:03:55 Java

Dubbo还提供了包括XML和API在内的多种启动和访问方式。更多开发方式和配置详情,请参考配置手册。下载示例代码完整的示例代码在dubbo-samples中。下载源码gitclone-bmasterhttps://github.com/apache/dubbo-samples.git进入示例目录cddubbo-samples/1-basic/dubbo-samples-spring-bootls#查看目录结构和快速运行样例编译Provider在dubbo-samples-spring-boot目录下执行maven命令mvncleanpackage运行Provider进入dubbo-samples-spring-boot-provider/target目录,启动java进程cd./dubbo-samples-spring-boot-providerjava-jar./target/dubbo-samples-spring-boot-provider-1.0-SNAPSHOT.jar运行consumer进入dubbo-samples-spring-boot-consumer目录,启动java进程java-jar./target/dubbo-samples-spring-boot-consumer-1.0-SNAPSHOT.jar查看结果会在consumer端输出如下信息:result:HelloWorld会在provider端输出如下信息:HelloWorld,来自消费者的请求:xxx.xxx.xxx.xxx至此,Dubbo的基本功能已经全部实现,可以在Dubbo的基础上进行更多的开发。更详细的示例核心流程解读请参考注解配置1.定义服务接口dubbo-samples-spring-boot-interface/DemoService.javapackageorg.apache.dubbo.samples.basic.api;publicinterfaceDemoService{StringsayHello(Stringname);}2.provider实现接口并暴露服务dubbo-samples-spring-boot-provider/DemoServiceImpl.java@DubboServicepublicclassDemoServiceImplimplementsDemoService{@OverridepublicStringsayHello(Stringname){System.out.println("Hello"+name+",来自消费者的请求:"+RpcContext.getContext().getRemoteAddress());返回“你好”+姓名;}}3。配置application.yml文件dubbo-samples-spring-boot-provider/resources/application.ymldubbo:application:name:dubbo-spring-boot-demo-providerprotocol:name:dubboport:-1registry:id:zk-registryaddress:zookeeper://127.0.0.1:2181配置中心:地址:zookeeper://127.0.0.1:2181元数据报告:地址:zookeeper://127.0.0.1:21814。定义SpringBoot主函数dubbo-samples-spring-boot-provider/ProviderApplication.java@SpringBootApplication@EnableDubbopublic类ProviderApplication{publicstaticvoidmain(String[]args)throwsException{newEmbeddedZooKeeper(2181,false).start();SpringApplication.run(ProviderApplication.class,args);System.out.println("dubbo服务启动");新的CountDownLatch(1).await();}}其中,@EnableDubbo必须配置5.引用远程服务dubbo-samples-spring-boot-consumer/ConsumerApplication.javapublicclassConsumerApplication{@DubboReferenceprivateDemoServicedemoService;}6.定义application.ymldubbo-samples-spring-boot-consumer/application.ymldubbo:application:name:dubbo-springboot-demo-consumerprotocol:name:dubboport:-1registry:id:zk-registryaddress:zookeeper://127.0.0.1:2181配置中心:地址:zookeeper://127.0.0.1:2181元数据报告:地址:zookeeper://127.0.0.1:21817。添加Spring配置,并调使用远程服务dubbo-samples-spring-boot-consumer/ConsumerApplication.java@SpringBootApplication@Service@EnableDubbopublicclassConsumerApplication{@DubboReferenceprivateDemoServicedemoService;publicStringdoSayHello(Stringname){returndemoService.sayHello(name);}publicstaticvoidmain(String[]args){ConfigurableApplicationContextcontext=SpringApplication.run(ConsumerApplication.class,args);ConsumerApplicationapplication=context.getBean(ConsumerApplication.class);字符串结果=application.doSayHello("world");System.out.println("结果:"+结果);其中@EnableDubbo必须配置原文StartedatDubbo官网:https://cn.dubbo.apache.org/z...欢迎给DubboStarhttps://github.com/apache/多宝。搜索并关注官方微信公众号:ApacheDubbo,了解更多行业最新动态,掌握各大厂面试必备的Dubbo技能