Springcloud入门第二篇
2019-08-01 11:02
441 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39992641/article/details/98034725
生产者消费者注册以及调用演示
基础的创建请看我的上一篇文章
再创建两个model order和user
order依赖
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>2.0.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 做负载均衡的 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> <version>2.0.3.RELEASE</version> </dependency> </dependencies>
order代码
启动类 @SpringBootApplication @EnableEurekaClient public class OrderApp { public static void main(String[] args) { SpringApplication.run(OrderApp.class,args); } /** * 微服务在不同的服务之间调用走的是rest风格 * 可以用这个简化服务调用的过程 * @return */ @Bean @LoadBalanced RestTemplate restTemplate(){ return new RestTemplate(); } } . controller @RestController public class OrderController { @Autowired OrderService orderService; @RequestMapping("/order") public String addOrder(String name,int id){ String result = orderService.getUser(id); return "商品"+name+"生成订单:"+result; } } service @Service public class OrderService { @Autowired RestTemplate restTemplate; public String getUser(int id){ /** * yidiankt-user erueka里面服务的名字 */ String url = "http://yidiankt-user/user/{id}"; /** * 通过这个方法来调用其他的服务 获取信息 */ String info = restTemplate.getForObject(url,String.class,id); return info; } } xml server: port: 8811 # 服务器注册到eureka的名称 spring: application: name: yidiankt-order # 服务注册到eureka的地址 eureka: client: service-url: defaultZone: http://127.0.0.1:8888/eureka
user 代码
controller package Userstater.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class userclinecontroller { @RequestMapping("/user/{id}") public String getUser(@PathVariable("id") int id){ if(id == 1){ return "yidiankt"; }else if (id == 2){ return "张喜属猪"; }else { return "张喜是猪"; } } } 启动类 @SpringBootApplication //开启eureka的客户端注解 @EnableEurekaClient public class UserApp { public static void main(String[] args) { SpringApplication.run(UserApp.class,args); } } xml server: port: 8810 spring: application: name: yidiankt-user # 服务注册到eureka地址 eureka: client: service-url: defaultZone: http://127.0.0.1:8888/eureka # 因为该应用为注册中心 register-with-eureka: true # 是否需要从rureka上获取注册信息 fetch-registry: true
即使是目前的三个项目启动后 eureka的 注册中心挂掉了 也同样能够 进行正常是使用 eureka会进入保护模式 不会踢掉任何一个服务
相关文章推荐
- SpringCloud入门教学|第二篇:服务消费者(restTempleate+ribbon)
- SpringMVC第二篇——入门程序2(页面展示商品列表)
- SpringCloud 入门教程 | 第一篇: 服务的注册与发现(Eureka)
- Android入门第二篇之LinearLayout、AbsoluteLayout
- 【转载】Gradle for Android 第二篇( Build.gradle入门 )
- Spring第二篇【Core模块之快速入门、bean创建细节、创建对象】
- springcloud(第二篇)springcloud config 修改配置
- 一、SpringCloud入门案例
- Gradle for Android 第二篇( Build.gradle入门 )
- DZ插件制作简易入门教程(自学手记)第二篇
- Android入门第二篇之LinearLayout、AbsoluteLayout
- Android入门第二篇之LinearLayout、AbsoluteLayout
- Beej的网络编程入门教程 第二篇 平台与编译器
- Gradle for Android 第二篇( Build.gradle入门 )
- 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)
- Python爬虫入门(五)PhatomJS+Selenium第二篇
- springcloud 入门 2 (Enreka的服务和注册)
- SpringCloud使用Consul做服务发现入门
- 数据挖掘入门 第二篇 数据与数据预处理
- Jquery入门学习第二篇