你觉得自己这辈子都学不会编程?相信自己!超基础Python课程,90分钟快速入门【自学Python教程合集】_哔哩哔哩_bilibili
Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,Nacos Config Starter实现Spring Cloud应用程序的外部化配置。
- <dependencies>
- <!-- springboot 整合web组件-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
- <version>0.2.2.RELEASE</version>
- </dependency>
- </dependencies>
- server:
- port: 8089
- spring:
- cloud:
- nacos:
- discovery:
- server-addr: 10.211.55.16:8848
- application:
- name: member-service
- @RestController
- public class MemberService {
- @Value("${server.port}")
- private String serverPort;
-
- @RequestMapping("/test")
- public String test(Long userId){
- return "请求端口:"+serverPort+" ID:"+userId;
- }
- }
- @RestController
- public class OrderService {
-
- @Autowired
- private RestTemplate restTemplate;
- @Autowired
- private DiscoveryClient discoveryClient;
- @Autowired
- private LoadBalancer loadBalancer;
-
- /**
- * 订单调用会员服务
- */
- @RequestMapping("/orderToMember")
- public String orderToMember() {
- /**名字要对应到生产者的服务名字*/
- List<ServiceInstance> serviceInstanceList = discoveryClient.getInstances("member-service");
- /**负载均衡器是自己写的,目的是获取其中一个地址*/
- ServiceInstance serviceInstance = loadBalancer.getSingleAddres(serviceInstanceList);
- URI rpcMemberUrl = serviceInstance.getUri();
- /**RestTemplate不是SpringCloud写的,是Spring内部的,它本身支持http协议调用。*/
- String result = restTemplate.getForObject(rpcMemberUrl + "/test", String.class);
- return "订单调用会员获取结果:" + result;
- }
- }