标签:over app nod ext 不清楚 discover ESS logs term
目录
接上一篇(SpringCloud实战之初级入门(一)— eureka注册中心),我们讲到了注册中心的高可用,集群,这篇我们讲如何服务如何注册在eureka上,如何使用Feign调用服务。
为了照顾不同段位朋友的感受,像这种简单的创建工程过程就不再贴图了,如有不清楚的地方,请看上篇文章。创建一个名为"mirco-service-provider"的工程,可以勾选“eureka discovery”,或者在项目的pom.xml文件中加入如下代码
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
server:
port: 8001
spring:
application:
name: service-provider
eureka:
client:
serviceUrl:
defaultZone: http://localhost:9001/eureka/
打开浏览器访问http://localhost:9001/,可以看到如下图所示,说明服务已经注册成功。
@RestController
public class MyFristServiceController {
/**
* 我的第一个微服务程序
* @param name
* @return
*/
@RequestMapping(value="/helloWorld" , method= RequestMethod.GET)
public String helloWorld(String name) {
return "Hello," + name + ", this is your world!" ;
}
}
重启服务,访问http://localhost:8001/helloWorld?name=jack,出现如下图,说明我们第一个微服务创建成功:
为了稍显B格,我们在MyFristServiceController上加上这个@RequestMapping("services"),让访问路径变为http://localhost:8001/services/helloWorld?name=jack
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
我们用同样的方式来创建一个名为"mirco-service-consumer"的工程
server:
port: 8002
spring:
application:
name: service-consumer
eureka:
client:
serviceUrl:
defaultZone: http://localhost:9001/eureka/
在启动文件中加上"@EnableDiscoveryClient"和"@EnableFeignClients"注解
@RequestMapping("services")
@FeignClient(name = "service-provider")
public interface MyFristConsumer {
/**
* 远程调用helloWorld的接口
* @param name
* @return
*/
@RequestMapping(value="/helloWorld" , method= RequestMethod.GET)
public String helloWorld(@RequestParam("name") String name) ;
}
这里面@FeignClient(name = "xxx"),xxx表示要调用的应用服务名称一定不能弄错了,然后是下面helloWorld方法,这里面要注意的问题是如果我们的被调用服务是用@PathVariable的方法获取参数,这里参数获取方法务必与被调用服务对应,如果不对应是访问不到服务的。
@RestController
public class MyFristConsumerController {
@Autowired
private MyFristConsumer myFristConsumer ;
/**
* 我的第一个微服务调用程序
* @param name
* @return
*/
@RequestMapping(value="/consumerHelloWorld" , method= RequestMethod.GET)
public String helloWorld(String name) {
return myFristConsumer.helloWorld(name) ;
}
}
启动服务,访问http://localhost:8002/consumerHelloWorld?name=rose,出现如下图,说明我们第一个微服务调用成功:
限于篇幅,有兴趣的朋友们可以参照我第一篇,一个工程配置多个服务节点的方法试一下,看能不能启动多个服务提供调用。
文章对应的视频地址:爱奇艺- SpringCloud实战之初级入门(二)— 服务注册与服务调用
SpringCloud实战之初级入门(二)— 服务注册与服务调用
标签:over app nod ext 不清楚 discover ESS logs term
原文地址:https://www.cnblogs.com/yb2020/p/10248042.html