springcloud eureka注册与消费快速上手
2018-08-03 07:30:03来源:博客园 阅读 ()
springcloud eureka注册与消费快速上手
1、eureka 简介
2、springboot引入依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
3、注册服务
@SpringBootApplication @EnableEurekaServer public class EurekaserverApplication { public static void main(String[] args) { SpringApplication.run(EurekaserverApplication.class, args); } }
4、配置文件
server.port=8000 spring.application.name=eureka-server eureka.instance.hostname=localhost eureka.client.fetch-registry=false #检索服务 eureka.client.register-with-eureka=false #注册服务 eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
5、注册客户端
@SpringBootApplication @EnableDiscoveryClient public class EurekaclientApplication { public static void main(String[] args) { SpringApplication.run(EurekaclientApplication.class, args); } }
6、配置文件
server.port=6001 spring.application.name=eureka-client eureka.client.service-url.defaultZone=http://localhost:8000/eureka/
7、提供服务和消费服务
提供服务本身并没有什么特殊的地方,使用springMVC写的restController下的各个requestmapping就是提供的服务。
消费服务则比较重要:
1、ribbon
引入依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </dependency>
restTemplate的注册
@SpringBootApplication
@EnableDiscoveryClient
public class EurekaclientApplication {
@Bean
@LoadBalanced
RestTemplate restTemplate(){
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(EurekaclientApplication.class, args);
}
}
restTemplate的使用
@Slf4j @Service public class UserRibbonService { public UserRibbonService() { } @Autowired private RestTemplate restTemplate; public String addUser(){ ResponseEntity<String> forEntity = restTemplate.getForEntity("http://user-service/user", String.class); String body = forEntity.getBody().toString(); return body; } }
使用restTemplate方式比较繁琐,需要写大量的代码去访问服务,解析响应。ribbon其实是作为一个负载均衡的中间件,有大量配置去更改负载均衡的各种参数,这里不细说了。
2、Feign
Feign是通过编写了一个服务提供者的接口,自动实现了消费服务的一种方式,比restTemplate更方便一些。
引入依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
注册feign
@SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class EurekaclientApplication { public static void main(String[] args) { SpringApplication.run(EurekaclientApplication.class, args); } }
使用feignclient编写接口
@FeignClient("user-service") // user-service 是所指定的服务提供者serviceID @Component public interface UserFeign {
// 根据服务提供者的接口编写,保证一样。 @RequestMapping(value = "/user", method = RequestMethod.GET) String addUser(); }
自动注入接口,调用服务
@Slf4j @Service public class UserService { public UserService() { } @Autowired private UserFeign userFeign; public String addUser() { log.info("addUser"); return userFeign.addUser(); } }
Feign 可以设置ribbon的属性,这里不演示了。
还有其他诸如:Hystrix(熔断)、zuul(网关)、config(远程配置)......等,我以后再写。
这篇文写的这么简陋应该没什么人转载吧
不过转载的话,请注明来源。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- springboot~注册不同级别包里的bean~scanBasePackages 2020-06-10
- 为什么要用springcloud? 2020-06-02
- SpringCloud Alibaba 简介 2020-05-26
- ahjesus-2020 Intellij idea 最新注册码 已稳定数月 亲测有 2020-05-25
- SpringCloud异常处理统一封装我来做-使用篇 2020-05-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash