<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><dubbo:application name="usermanage" /><dubbo:registry id="zookeeper_service" protocol="zookeeper" address="127.0.0.1:2181" timeout="15"/><!-- 用dubbo协议在20880端口暴露服务 --><dubbo:protocol name="dubbo"port="20880"threads="1000" /><!-- dubbo监控配置 --><dubbo:monitor protocol="registry" /><!-- dubbo管理平台接口 --><bean id="UserService" class="com.luo.service.impl.UserServiceImpl" /><dubbo:service interface="com.luo.service.IUserService" ref="UserService"registry="zookeeper_service" /></beans>在启动类引入配置类@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})@ImportResource({"classpath:*dubbo-provider.xml"})public class UsermanageAPP extends SpringBootServletInitializer {private static Logger logger= LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(UsermanageAPP.class);}/*** 项目的启动方法* @param args*/public static void main(String[] args) {SpringApplication.run(UsermanageAPP.class, args);logger.info("======服务已经启动========");}}服务接口和服务实现类服务接口
public interface IUserService {public String ceshi(String input);}服务的实现类
public class UserServiceImpl implements IUserService {@Overridepublic String ceshi(String input) {return "Hello World,"+input;}}dubbo生产者配置dubbo-consumer.xml:通过配置xml的方式来配置dubbo服务的消费者对于核心的业务:
- retries=“0”:关闭dubbo超时重试,即 超时不重试
- 提高timeout(即超时时间),避免由于网络延迟导致业务流程超时
<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><dubbo:application name="nacos" /><dubbo:registry id="zookeeper_service" protocol="zookeeper" address="127.0.0.1:2181" timeout="15"/><!-- 消息推送 --><dubbo:reference id="user" interface="com.luo.service.IUserService" retries="0" timeout="50000" check="false"/></beans>在启动类引入配置类@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, SentinelCircuitBreakerAutoConfiguration.class})@ImportResource({"classpath:*dubbo-consumer.xml"})public class NacosApp extends SpringBootServletInitializer {private static Logger logger= LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(NacosApp.class);}/*** 项目的启动方法* @param args*/public static void main(String[] args) {SpringApplication.run(NacosApp.class, args);logger.info("======服务已经启动========");}}服务接口和Controller层服务接口public interface IUserService {public String ceshi(String input);}Controller层@RestControllerpublic class TestController {@AutowiredIUserService userService;@RequestMapping("/ceshi")public String ceshi(){return userService.ceshi("luo");}}分别启动生产者和消费者,访问消费者接口进行验证:
文章插图
【SpringBoot中使用dubbo实现RPC调用】
推荐阅读
- 正确的消毒柜使用方法
- 活鱼怎么保鲜?
- 喝红薏米芡实茶的反应
- 罗汉果的营养 长期服用罗汉果危害
- 桂花茶中桂花的采制,桂花茶的采制技巧和保健功效
- 四场以少胜多的著名战役 三大战役中以少胜多的战役
- 解说有关茶道的秘密,阐述中国茶道文化
- 姜梅茶粥具有温中散寒,艾叶温胃茶
- 喝黑茶会不会影响睡眠,早中晚喝什么茶比较好
- 丰田卡罗拉双擎三种模式怎么使用?
