当前位置:首页 > 科技  > 软件

实现Eureka服务注册和服务发现,你学会了吗?

来源: 责编: 时间:2023-11-28 09:36:36 360观看
导读分布式在大型开发项目中通常使用分布式服务来根据项目中不同的功能划分为几个不通的模块。比如在一个商城系统中,通常会把用户服务、下单服务、商品推荐服务分散到几个模块中,如果在下单服务中需要获取用户的信息,这时候

分布式

在大型开发项目中通常使用分布式服务来根据项目中不同的功能划分为几个不通的模块。vhZ28资讯网——每日最新资讯28at.com

比如在一个商城系统中,通常会把用户服务、下单服务、商品推荐服务分散到几个模块中,如果在下单服务中需要获取用户的信息,这时候就在代码内部调用用户服务的接口即可。这样一个过程就是分布式的基本概念。vhZ28资讯网——每日最新资讯28at.com

Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。vhZ28资讯网——每日最新资讯28at.com

--以上内容来自百度百科。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

来自官网列举的主要项目vhZ28资讯网——每日最新资讯28at.com

所以,Spring Cloud是一款主流的分布式服务框架,提供了服务注册与调用,统一配置管理,统一网关路由,服务链路监控等功能。并且在远程调用是支持Feign(HTTP)协议。vhZ28资讯网——每日最新资讯28at.com

服务远程调用

3.1 创建两个项目

创建两个项目模拟分布式的场景,分别是userService和orderService,这两个服务对应的数据库不在同一个库中,在userService项目中有一个接口是根据user表的ID查询user对象;vhZ28资讯网——每日最新资讯28at.com

同样的,orderService项目中有一个接口是根据order表的ID查询order信息,在一条信息中包含了单价,数量,总价和用户的ID。vhZ28资讯网——每日最新资讯28at.com

这两个个项目布在了同一个大的项目中。现在有一个功能需求是通过使用orderService的接口查询order信息并同时获得这个订单对应的用户信息。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

3.2 远程调用

首先需要创建一个RestTemplate对象,这个对象功能能简单,就是用来发送HTTP请求,所以可以在项目的配置类中创建这么一个对象,然后在Controller层中注入。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

这样就完成了一次远程调用了。vhZ28资讯网——每日最新资讯28at.com

使用Postman测试一下,理论上是要返回一个response对象,response对象包含了user对象和order对象。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

Eureka服务搭建

在上面的远程调用的例子中,有许多的不足,比如访问的url信息是写死在代码中的,后期部署的时候要再专门修改这样是不现实的。vhZ28资讯网——每日最新资讯28at.com

Eureka服务发现就相当于是一个专门获取项目中所有接口的程序。所以需要先创建一个Spring boot项目,然后把这个项目当作Eureka的server。vhZ28资讯网——每日最新资讯28at.com

4.1 首先在Eureka_Server的Maven中导入依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>

4.2 接着在启动类添加@EnableEurekaServer注解

图片图片vhZ28资讯网——每日最新资讯28at.com

4.3 在配置文件中配置Eureka服务的端口和应用名称

图片图片vhZ28资讯网——每日最新资讯28at.com

验证是否成功只需要在浏览器上输入设置的网址,看能否进入页面即可。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

Eureka服务注册

5.1 在orderservice和userservice项目中分别引入Eureka依赖信息

注:这里导入的是client依赖。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

5.2 在userservice和orderservice配置Eureka的配置信息

注:与4.3的样式一致。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

5.3 访问eureka地址查看这俩个新注册的服务vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

可以发现服务都注册在eureka上了。vhZ28资讯网——每日最新资讯28at.com

Eureka服务发现

6.1 把消费者的调用链接中的ip和端口信息换成注册在Eureka的服务名

图片图片vhZ28资讯网——每日最新资讯28at.com

6.2 在消费者的配置类的RestTemplate上添加@LoadBalanced注解

注:这里的消费者当然是orderservice。vhZ28资讯网——每日最新资讯28at.com

图片图片vhZ28资讯网——每日最新资讯28at.com

6.3 再测试一次程序

图片图片vhZ28资讯网——每日最新资讯28at.com

可见是成功调用了userservice的接口。vhZ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-34659-0.html实现Eureka服务注册和服务发现,你学会了吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 100行代码实现审计日志中间件

下一篇: Display和Visibility的区别,你了解了吗?

标签:
  • 热门焦点
  • K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    Redmi的后性能时代战略发布会今天下午如期举办,在本次发布会上,Redmi公布了多项关于和联发科的深度合作,以及新机K60 Ultra在软件和硬件方面的特性,例如:“K60 至尊版,双芯旗舰
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    &copy;自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 得物宠物生意「狂飙」,发力“它经济”

    作者|花花小萌主近日,得物宣布正式上线宠物鉴别,通过得物App内的&ldquo;在线鉴别&rdquo;,可找到鉴别宠物的选项。通过上传自家宠物的部位细节,就能收获拥有专业资质认证的得物鉴
  • 信通院:小米、华为等11家应用商店基本完成APP签名及验签工作

    中国信通院表示,目前,小米、华为、OPPO、vivo、360手机助手、百度手机助手、应用宝、豌豆荚和努比亚等9家应用商店,以及抖音和快手2家新型应用分发平
  • OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    日前OPPO官方宣布,全新的OPPO K11将于7月25日正式发布,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼IMX890主摄,堪称是2000档位影像表
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
Top