SpringCloud 5大重要组件

本文详细介绍了SpringCloud中的关键组件,包括Eureka服务器的集群配置,Ribbon的负载均衡及自定义算法,Feign的接口调用简化,Hystrix的熔断降级机制,以及微服务网关的使用和鉴权。通过这些组件,可以构建出稳定、高效的微服务架构。
摘要由CSDN通过智能技术生成

微服务器之间的通信

使用SpringCloud 将微服务器注册到Eureka服务器后,接下来要做的就是这些Eureka客户端(微服务器)之间的通信问题.

使用RestTemplate相互通信

要完成微服务之间的通信就要使用java发送http请求,springCloud为我们准备好了一个工具类RestTemplate.
使用RestTemplet这个工具类不需要导入特殊的包.

服务者和消费者完成相应的controller

在订单服务的主配置类中配置RestTemplate,交给Spring容器

@SpringBootApplication 
@EnableEurekaClient //开启Eureka的配置,在主配置上打上这个标签,Eureka相关配置就会自动配置好
public class OrderServiceApplication {
   

    /**
     * 配置RestTemplate Bean
     * @return
     */
    @Bean
    public RestTemplate restTemplate() {
   
        return new RestTemplate();
    }
	// SpringBoot 的启动入口
    public static void main(String[] args) {
   
        SpringApplication.run(OrderServiceApplication.class, args);
    }

}

订单服务的controller

@RequestMapping("/orderService")
@RestController
public class OrderServiceController {
   

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
   
    //使用RestTemplate发送http请求
      return restTemplate.getForObject("http://localhost:2000/userService/"+id, User.class);
    }
}

用户服务的controller

@RestController
@RequestMapping("/userService")
public class UserServiceController {
   

    @GetMapping("/{id}")
    public User getUserById(@PathVariable(value = "id") Long id) {
   
       return new User(id, "王大锤2000", 20);
    }

}

调用订单的url,会自动调用用户的方法,以上就完成了微服务器之间的相互通信.

Eureka服务器高度可用

Eureka服务器高度可用的意思就是Eureka服务器集群(多个服务器做同样的事情),不会因为单一的Eureka服务器宕机,是整个项目宕机.
有了SpringCloud存在使得集群异常简单.
Eureka集群原理

新建一个模块,做为Eureka服务端

就是新建一个Eureka服务端,搭建过程上一篇文章已经写过.

编写服务端配置文件

第一个Eureka服务端

server:
  port: 1000

#  配置eurka服务端
eureka:
  instance:
    hostname: peer1 # 127.0.0.1
  client:
    fetch-registry: false #禁止自己(Eureka服务端)拉取通信清单
    register-with-eureka: false # 禁止在通信清单中注册自己
    service-url:
      defaultZone: http://peer2:1001/eureka #    向其他Eureka注册自己的url,如果没有做Eureka集群就可以不写

spring:
  application:
    name:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值