微服务01-Eureka Ribbon

微服务

我的个人地址

微服务是一种架构风格,旨在将单一应用程序拆分为一组小型、独立部署的服务,每个服务都围绕特定的业务功能进行构建。这些服务 之间通过轻量级的通信机制互相通信,比如使用HTTP协议或消息队列。微服务架构提供了灵活性和可伸缩性,使团队能够独立开发、部署和扩展每个服务,从而提高整体应用程序的可维护性和可靠性。

提供者与消费者:

服务提供者:业务中被调用的微服务 暴露接口出去的

务消费者:业务中调用其他微服务的服务

一个服务既可以是提供者,也可以是消费者。

Eureka 注册中心

服务拆分后 需要远程调用其他微服务,消费者无法获取具体的地址信息,面对多个服务无法选择,单独服务的状态例如宕机或者激活无法得得知道

Eureka的作用:

Eureka-server注册中心

负责记录服务提供者以及消费者的信息,服务会每隔30s发一次心跳,确保状态。

每个服务启动的时候会注册自己的信息 EurekaServer会记录下来,消费者根据服务名拉取信息

Eureka-client客户机

根据服务的类型分为消费者和提供者

消费者会在注册中心拉取提供者的信息,通过负载均衡算法去选择用哪一个。

消费者如何感知提供者的状态:提供者会每隔30秒发一次心跳,保证状态

搭建Eureka注册中心

引入依赖

使用SpringCloud引用依赖 需要版本一致 尽量网上cv

需要配置yml 里的url地址端口 还有Eureka的本身名称以及服务地址 以及@EnableEurekaServer启动服务

配置完注册中心配置服务注册

引入客户端依赖 配置yml 完成服务注册

这个直接百度即可

Eureka消费者拉取服务:

@Bean

注册RestTemplate 用于发起请求 利用服务名去发起请求

使用@LoadBalanced 用Ribbon来做负载均衡

负载均衡:

负载均衡就是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁碟驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。

轮询【默认】

随机

加权

重试

最小链接 这个最好是自己去看相关的内容

Ribbon-负载均衡原理

这个要去看源码 Ribbon主要是Irule这个接口来实现负载均衡的 他的子接口实现类有很多的规则 如 默认简单轮询 过滤筛选轮询 权重 重试机制 随机机制 Ribbon捕获客户端的http信息 拿到url 拿到主机名服务名 然后去Eureka拉取服务注册的信息 拿到信息后 由ribbon通过轮询实现负载均衡。

自定义方式:1.代码实现 定义一个@Bean 返回一个新的规则

2.配置文件方式 【个人觉得麻烦】

Ribbon-饥饿加载:

ribbon默认采用懒加载,tomcat启动时不加载,第一次访问才去创建负载均衡的客户机,再去拉取。 这样时间长

如果感觉第一次耗时长,可以开启饥饿加载。通过yml去配置。可以提升速度

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐风清扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值