docker安装单节点nacos
访问地址:192.168.31.100:8848/nacos
2.服务提供者 1.pom文件1.8 UTF-8 UTF-8 2.3.7.RELEASE Hoxton.SR9 2.1.0.RELEASE org.springframework.boot spring-boot-dependencies ${spring-boot.version} pom import org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba.version} pom import
2.application.ymlcom.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-test test
server:
port: 8001
spring:
application:
name: provider
cloud:
nacos:
discovery:
server-addr: 192.168.31.100:8848
#暴露监控
management:
endpoints:
web:
exposure:
include: '*'
3.controller
@RestController
@RequestMapping("/provider")
public class ProviderController {
@Value("${server.port}")
private Integer port;
@GetMapping("/hello")
public String hello(){
return "Hello nacos , server port is "+port;
}
}
4.启动类
@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
}
5.测试
3.再次创建服务提供者
这里跟上面的服务提供方一样,只需要改一下配置类中的端口
这里实例数变成了俩个
4.创建消费者 1.pom文件2.application.ymlcom.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-test test
server:
port: 9003
spring:
application:
name: customer
cloud:
nacos:
discovery:
server-addr: 192.168.31.100:8848
3.配置类
@Configuration
public class RestTemplateConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
4.controller
@RestController
@RequestMapping("/customer")
public class CustomerController {
@Autowired
private RestTemplate restTemplate;
private final String SERVER_URL="http://provider";
@GetMapping(value = "/hello")
public String hello(){
return restTemplate.getForObject(SERVER_URL+"/provider/hello", String.class);
}
}
5.启动类
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
}
6.测试
这里@LoadBalanced注解起作用了,实现了轮询



