然后yml配置文件如下:
server: port: 8601spring: Application: name: user cloud: consul: port: 8500 host: 127.0.0.1 discovery: service-name: user instance-id: ${spring.application.name}:${spring.cloud.consul.host}:${server.port} health-check-path: /actuator/health health-check-interval: 10s prefer-ip-address: true heartbeat: enabled: true在启动类加上开启服务注册的注解:
@SpringBootApplication@EnableDiscoveryClientpublic class UserApplication { public static void main(String[] args) { SpringApplication.run(UserApplication.class, args); }}最后启动项目即可 , 我这里启动两个user , 端口号分别是8601 , 8602:

文章插图
3.3 服务调用再创建一个订单项目(order) , 和user配置类似 , 注册服务到consul中 。

文章插图
下面演示一下用order服务调用user服务 , 首先定义user的接口:
@RestController@RequestMapping("/mall/user")public class UserController { @RequestMapping("/list") public Map<String, Object> list() throws Exception { Map<String, Object> userMap = new HashMap<>(); userMap.put("1号佳丽", "李嘉欣"); userMap.put("2号佳丽", "袁咏仪"); userMap.put("3号佳丽", "张敏"); userMap.put("4号佳丽", "张曼玉"); return userMap; }}接着在order服务调用user服务 , 使用RestTemplate的方式:@RestController@RequestMapping("/mall/order")public class OrderController { @Resource private LoadBalancerClient loadBalancerClient; @RequestMapping("/callUser") public String list() throws Exception { //从注册中心中获取user服务实例 , 包括服务的IP , 端口号等信息 ServiceInstance instance = loadBalancerClient.choose("user"); //调用user服务 String userList = new RestTemplate().getForObject(instance.getUri().toString() + "/mall/user/list", String.class); return "调用" + instance.getServiceId() + "服务 , 端口号:" + instance.getPort() + ",返回结果:" + userList; }}启动两个user服务 , 一个order服务 , 调用order的接口 , 可以看到结果:
文章插图

文章插图
负载均衡默认是轮询访问 , 所以交替调用8601和8602的user服务 。
consul的简单入门就讲到这里了 , 除了服务治理之外 , consul还可以用于做配置中心 , 读者有兴趣可以自己探索一下 。我这里用的是dev模式 , 相当于单机模式 , 仅用于学习 , 实际生产的话肯定是集群模式 , 后面如果有时间我再专门写一篇演示一下consul集群的搭建 。
下面讲另一款注册中心 , 阿里出品的Nacos 。
推荐阅读
- 怎么查找被删除的微信聊天记录 微信如何找到被删除的聊天记录
- 怎么能恢复两年前的微信聊天记录 微信可以恢复三年前的聊天记录吗?
- 3分钟看懂,如何解决Twitter分享索权过多的问题
- 搞微服务用阿里开源的 Nacos 真香啊
- 一文详解操作系统进程管理
- 如何将微信聊天记录备份 别人备份的微信聊天记录恢复到自己
- 微信聊天记录恢复根本恢复不了 微信不能恢复聊天记录
- 如何找回清空的微信聊天记录 微信聊天记录删掉怎么找回来
- 微软模拟飞行视角 微软模型飞行x下载
- 数据中台到底包括什么内容?一文详解架构设计与组成
