IT学习站-137zw.com

作者: 术数古籍专卖疤
查看: 69|回复: 0

more +资源更新Forums

more +随机图赏Gallery

画画教程 SAI零基础合集(11套)202G  完整版课程分享画画教程 SAI零基础合集(11套)202G 完整版课程分享
喜马拉雅付费专辑 华语辩论冠军的思辩表达课 分享下载喜马拉雅付费专辑 华语辩论冠军的思辩表达课 分享下载
价值1169元 建设项目目标成本编制与投资收益测算 课程价值1169元 建设项目目标成本编制与投资收益测算 课程
医学生必备图谱及教材 蓝色生死恋全集奈特图谱十二本+黄...医学生必备图谱及教材 蓝色生死恋全集奈特图谱十二本+黄...
手把手教你招投标从入门到独立完成标书 完整版课程手把手教你招投标从入门到独立完成标书 完整版课程
黑马Android安卓开发项目就业班第95期 完整版课程黑马Android安卓开发项目就业班第95期 完整版课程

Java微服务(二):服务消费者与提供者搭建

Java微服务(二):服务消费者与提供者搭建

[复制链接]
术数古籍专卖疤 | 显示全部楼层 发表于: 2019-11-14 10:15:03
术数古籍专卖疤 发表于: 2019-11-14 10:15:03 | 显示全部楼层 |阅读模式
查看: 69|回复: 0
  本文接着上一篇写的《Java微服务(一):dubbo-admin控制台的使用》,上篇文章介绍了docker,zookeeper环境的安装,并参考dubbo官网演示了dubbo-admin控制台的使用。上篇文章已经搭建好zookeeper服务注册中心,本片文章主要搭建服务消费者和服务提供者。按照微服务的原则,本文将demo分为3部分:服务接口、服务消费者、服务消费者。
  服务接口:定义了系统所需要的全部接口。
  服务提供者:主要是对接口的实现。
  服务消费者:对接口的使用
1.Dubbo介绍
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908111509795-1289471419




节点角色说明Provider暴露服务的服务提供方Consumer调用远程服务的服务消费方Registry服务注册与发现的注册中心Monitor统计服务的调用次数和调用时间的监控中心Container服务运行容器

  Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。
调用关系说明


  • 服务容器负责启动,加载,运行服务提供者。
  • 服务提供者在启动时,向注册中心注册自己提供的服务。
  • 服务消费者在启动时,向注册中心订阅自己所需的服务。
  • 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  • 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  • 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。
更详细的介绍,请参考官网:http://dubbo.apache.org/en-us/
2.服务接口
  通过idea创建一个jar工程,创建工程的过程可以参考《Spring boot 入门(一):快速搭建Spring boot项目》,此工程的目的只是简单的定义接口,所以这里直接创建jar包,不是maven工程。创建好了后,新建一个接口。以下是我创建的接口:
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908112515183-1441650482


  其中UserService代码如下:  创建完接口后,需要把接口install到本地仓库,供服务消费者和服务提供者使用
  在Terminal直接指向mvn clean install或者直接在lifecycle目录下点击install进行安装,出现如下页面,表示安装成功
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908113244956-1720022752




3.服务提供者
  服务提供者主要是对接口的实现,用相同的方法创建一个maven工程,创建好后的maven工程目录如下:
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908113648025-1882297715


其中UserServicelmpl是多接口的实现,代码如下:其中@HystrixCommand注解在后面熔断器中会讲到,这里先注释。
yml配置如下:
Java微服务(二):服务消费者与提供者搭建  技术博客 ContractedBlock
Java微服务(二):服务消费者与提供者搭建  技术博客 ExpandedBlockStart
View Codepom文件如下:
Java微服务(二):服务消费者与提供者搭建  技术博客 ContractedBlock
Java微服务(二):服务消费者与提供者搭建  技术博客 ExpandedBlockStart
View Code本文pom文件和yml文件主要是根据dubbo官网中服务提供者的pom文件中的依赖而来,具体参考:https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-samples/dubbo-registry-zookeeper-samples
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908114322567-1280548422


Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908114614278-1864623656


注意basePackages注解
4.服务提供者
按照相同的方式创建服务提供者,配置文件和服务提供者也类似,直接贴代码了
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908115045003-1760765018

Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908115208230-311533976



yml配置文件和pom配置文件和提供者基本类似;
Java微服务(二):服务消费者与提供者搭建  技术博客 ContractedBlock
Java微服务(二):服务消费者与提供者搭建  技术博客 ExpandedBlockStart
View Code
Java微服务(二):服务消费者与提供者搭建  技术博客 ContractedBlock
Java微服务(二):服务消费者与提供者搭建  技术博客 ExpandedBlockStart
View Code这里面关于服务熔断和负载均衡的的代码可以暂时不关注,后面会专门对熔断进行讨论。

5.结果
分别启动服务消费者和服务提供者,启动成功后,如下:
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908115644125-1304936349


访问http://localhost:9090/hi
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908115810960-387588986


同时我们可以启动dubbo-admin控制台查看服务,注意端口的冲突:
Java微服务(二):服务消费者与提供者搭建  技术博客 1147108-20190908120311192-708594968



来源:http://www.137zw.com
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
137zw.com IT学习站致力于免费提供精品的java技术教程和python技术教程,CCNA书籍/资料/CCNP书籍/资料教程/CCIE书籍/资料/H3C学习/认证/一级建造师考试/微软学习/认证/包括基础教程和高级实战教程,同时也提供分享网站源码下载和互联网相关一系列的技术教程,我们想做的就是让知识分享更有价值!(IT学习站官方唯一域名地址:www.137zw.com 请谨防假冒网站!)本站所有资源全部收集于互联网或网友自行分享,分享目的仅供大家学习与参考,如无意中侵犯您的合法权益,请联系本站管理员进行删除处理!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

浙ICP备19022368号-1|Archiver|手机版|IT学习站-137zw.com

GMT+8, 2020-7-4 09:41 , Processed in 12.214457 second(s), 33 queries .

快速回复 返回顶部 返回列表