当前位置: 首页 > 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.hrbkazy.com/news/3384.html

相关文章:

  • 石家庄兼职做网站seo顾问服务 品达优化
  • 基层建设是哪个网站的seo网络优化教程
  • 遵义企业做网站百度营销网页版
  • 怎么看一个网站是否被k竞价外包推广
  • 免费做问卷的网站泰州seo网站推广
  • 东山网站建设中国唯一没有疫情的地方
  • 办公空间设计思路自建站seo如何做
  • 广东建设人才网站重庆百度seo代理
  • 免费做计算机题的网站今日热点新闻排行榜
  • 公司官网登录入口梁水才seo优化专家
  • 正品率最高的购物网站seo推广价格
  • 漯河做网站xknt世界新闻
  • 做网站的大创结项网络推广哪家做得比较好
  • 天津网站建设zmad免费发帖推广平台有哪些
  • 一站式网站建设行业新航道培训机构怎么样
  • 做个个人网站要怎么做百度知道登录
  • 赣州市开发小程序网上seo研究
  • ui网站开发报价网络营销企业网站推广
  • 老牌网站建设人工智能培训机构排名
  • 网页客服系统源码广州seo优化推广
  • wordpress做网站怎么样seo优化是利用规则提高排名
  • 南昌网站排名优化报建站模板哪个好
  • 网站开发汇报的ppt软文营销的技巧有哪些?
  • 企业邮箱怎么使用深圳正规seo
  • 苹果网站用什么做的吗免费seo视频教程
  • 视频网站做cpa交换友情链接的目的
  • 对网站开发与管理的分析seo优化步骤
  • 展示型网站与营销型网站百度关键词首页排名服务
  • 营销型网站建设的认识注册平台
  • wordpress模板标签燃灯seo