黑马商城项目—服务注册、服务发现

服务注册

我们把item-service注册到Nacos,步骤如下:

1.引入依赖

在item-service的pom.xml中添加依赖:


2.配置Nacos

在item-service的application.yml中添加nacos地址配置:


3.配置服务实例

为了测试一个服务多个实例的情况,我们再配置一个item-service的部署实例:

点击ItemApplication启动类右键选择Copy Configuration

点击Add VM options 之后会弹出下面一条框,里面填写-Dserver.post=端口号

之后就可以看到两个ItemApplication启动类了


4.启动两个启动类进行测试

访问nacos控制台,可以发现服务注册成功

点击详情,可以查看到item-service服务的两个实例信息:


服务发现

服务发现的作用在于不管是服务宕机、启动,随时都能被我们感应到,随时都能拿到最新的服务列表

服务发现使用步骤和服务注册前两步一样,都是导入依赖和配置Nacos,区别在于后面需要使用到负载均衡

我们把cart-service注册到Nacos并实现服务发现 ,步骤如下:

1.引入依赖

我们在cart-service中的pom.xml中添加下面的依赖:


2.配置Nacos


3.发现并调用服务

接下来,服务调用者cart-service就可以去订阅item-serivce服务了。不过item-service有多个实例,而真正发起调用时只需要知道一个实例的地址。

因此,服务调用者必须利用负载均衡的算法,从多个实例中挑选一个去访问。常见的负载均衡算法有:

  • 随机

  • 轮询

  • IP的hash

  • 最近最少访问

这里我们可以选择最简单的随机负载均衡。另外,服务发现需要用到一个工具:DiscoveryClient;SpringCloud已经帮我们自动装配,我们可以直接注入使用:


点开cart-service中CartServiceImpl实现类,找到handCartItems,对原来的远程调用进行一个修改,之前调用时我们需要写死服务提供者的IP和端口:

但现在不需要了,我们通过DiscoveryClient发现服务实例列表 ,然后通过负载均衡算法,选择一个实例去调用:


4.启动测试


通过http://localhost:8082/doc.html路径打开购物车服务文档进行测试 ,把三个启动类日志清空好观察输出sql语句

然后到控制台去查看CartApplication和两个ItemApplication是否有sql语句输出,有则代表负载均衡成功,有一个启动类没sql语句输出则代表有问题

可以看到三个控制台都有sql语句输出,声明该服务发现成功!

相关推荐
QYRdata14 天前
2026-2032年图形处理云服务器CAGR预计达18.7%
运维·服务器·服务发现
QYRdata15 天前
年复合增长率19.6% 数据隐私安全软件赛道领跑新兴科技
网络·科技·服务发现
QYRdata15 天前
11.3%年复合增长率:数据中心结构化布线服务迎高速增长期(2026-2032)
服务发现
QYRdata22 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
QYRdata23 天前
ICMP云管理平台2026-2032年CAGR达13.5% 未来发展潜力凸显
云计算·服务发现
八角Z23 天前
iOS App 审核变慢:从提交量增长到风险分层审核
服务发现
QYRdata23 天前
2026-2032年云DevOps工具年复合增长率16.5%,开启高效运维新篇章
服务发现
QYRdata1 个月前
隐私合规技术迎来拐点:数据主体请求自动化年复合增长率14.0%(2026-2032)
大数据·服务发现
QYRdata1 个月前
权威数据披露:2026至2032年边缘云服务CAGR达15.6%,赛道发展驶入快车道
网络·人工智能·云计算·服务发现·边缘计算
QYRdata1 个月前
24.8%复合增速!用量付费办公IT服务2026-2032年发展势头强劲
网络·人工智能·服务发现