当前位置: 首页 > news >正文

网站怎么换空间商江苏网络公司网站建设

网站怎么换空间商,江苏网络公司网站建设,域名大全免费查询,信号增强器设置网站本文介绍利用apache dubbo调用远程服务的开发过程,其中利用zookeeper作为注册中心。关于zookeeper的环境搭建,可以参考我的另一篇博文:14-zookeeper环境搭建。 0、环境 jdk:1.8zookeeper:3.8.4dubbo:2.7.…

本文介绍利用apache dubbo调用远程服务的开发过程,其中利用zookeeper作为注册中心。关于zookeeper的环境搭建,可以参考我的另一篇博文:14-zookeeper环境搭建。

0、环境

  • jdk:1.8
  • zookeeper:3.8.4
  • dubbo:2.7.5
  • springboot: 2.7.18

1、项目介绍

本项目包含两个服务:user-service和order-service。user-service作为服务的provider,order-service是consumer。下面咱们一步步开始。下图是两个项目的结构,大家先从整体上认识一下。
在这里插入图片描述
在这里插入图片描述

2、开工

按照上图的项目规划,先创建user-service项目,创建完成后,引入springboot:

	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.18</version></parent>

2.1 user-service-api

这个模块就是个普通的java模块,主要用来定义user-service对外暴露的接口,当然实际中的异常定义、pojo也要放在这个模块。这也是dubbo官方最佳实践的建议。这个模块不需要依赖于开发框架,我们只写一个接口:

public interface IUserService {String getUserName(String id);
}

接口写完后,将该模块install到maven库,便于order-service使用。如何install,利用ide或命令行都行,install完成后在你的本地仓库能看到对应的jar就说明成功了。

2.2 user-service-provider

见名知意,这个服务是服务的提供者,首先要实现IUserService接口,其次通过dubbo将服务发布出来供其他服务调用。重点来了,咱们一步步来。

2.2.1 引入依赖

	  <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.5</version></dependency><!--zookeeper--><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>5.1.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>5.1.0</version></dependency><!--上面install的--><dependency><groupId>com.jackie</groupId><artifactId>user-service-api</artifactId><version>1.0-SNAPSHOT</version></dependency>

2.2.2、实现接口

@Service
public class UserServiceImpl implements IUserService {@Overridepublic String getUserName(String id) {return "李明明 @ " + System.currentTimeMillis();}
}

注意:@Service是dubbo的包,不要引入spring的。dubbo3开始,改成了@DubboService,用来区别spring的注解。

2.2.3、启动类

@SpringBootApplication
@DubboComponentScan  //这个注解一定要有
public class UserServiceProviderApplication {public static void main(String[] args) {SpringApplication.run(UserServiceProviderApplication.class, args);}}

2.2.4、配置文件

server:port: 8082spring:application:admin: user-service-providerdubbo:application:name: user-service-providerqos-enable: false //如果为true,需要配置相应的未被占用的端口protocol:port: 20880name: dubboregistry:address: zookeeper://localhost:2181

咱们使用zookeeper作为注册中心,需要配置正确的zookeeper地址,我这里是本地启的服务。到此为止provider服务就开发完成了。下面开发consumer服务

2.3、order-service

consumer端先对服务端就简单的多,先来引入依赖,因为要用springboot和zookeeper,这些以来少不了,看代码:

 		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.jackie</groupId><artifactId>user-service-api</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.5</version></dependency><!--zookeeper--><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>5.1.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>5.1.0</version></dependency>

2.3.1、调用远程服务

@Component 
public class UserService {public String getUserName(String id) {return userService.getUserName(id);}@Referenceprivate IUserService userService;
}

说明:

  • @Reference:dubbo的注解,用于说明远程服务的引用,这里可以从zookeeper获取服务地址。
  • @Component:spring的注解。

2.3.2、启动类和Controller

@SpringBootApplication
@RestController
public class OrderServiceApplication {public static void main(String[] args) {SpringApplication.run(OrderServiceApplication.class, args);}@GetMapping("/order/username")public String findUserName(@RequestParam("id") String id) {return userService.getUserName(id);}@Autowiredprivate UserService userService;}

2.2.3 order-service服务的配置文件

server:port: 8081dubbo:application:name: order-serviceprotocol:name: dubboregistry:address: zookeeper://localhost:2181

3、测试

分别启动order-service、user-service、zookeeper。打开浏览器,访问http://localhost:8081/order/username?id=1,效果如下图:
在这里插入图片描述

http://www.yayakq.cn/news/266878/

相关文章:

  • 金融网站源码 asp学生做网站赚钱
  • 建立网站邮箱北京综素网址
  • 保定网站定制公司建个网站 网页空间多少
  • 佛山网站优化服务购买手机网站推荐
  • 做网站论文研究方法怎么写网址站长之家
  • 做网站要用到哪些架包免费ps模板下载网站
  • 我的世界手机做图的网站福建省文明建设办公室网站
  • 智能建网站源码屋整站源码
  • 网络公司做网站价格前十强排名家装公司
  • 营销型网站设计价格wordpress滑动登录
  • 青岛手机网站建设电话可以做软文的网站
  • 江西城开建设集团有限公司网站导航类模板wordpress
  • 可以做网站吗临清网站优化
  • 如何进行网站的资源建设wordpress 卢松松主题
  • 给女朋友做的网站网站开发工具简介
  • 网站开发前如何配置电脑万词优化
  • 网站底部导航菜单佛山网站建设开发
  • 深圳网站优讳化网络服务商在哪里找
  • 定制开发电商网站建设公司短视频营销概念
  • thinkcmf 做企业网站正规的网页制作
  • 看汽车哪个网站好微信网站的优势
  • 国内网站域名手机网站推广法
  • 外贸代理公司福州网站搜索引擎优化
  • 中山网站建设文化价格网站怎么办
  • 做最精彩的绳艺网站飞飞影视做的网站
  • 网站建设课设心得有啥方法下载wordpress主题
  • 如何建设公司门户网站企业设备管理系统
  • 同一个公司可以做几个网站吗龙之向导官网
  • 实战网站开发编程在线
  • 上海网站制作团队wordpress中国服务器