Spring-Cloud 个人理解

本贴最后更新于 1435 天前,其中的信息可能已经时移世易

Spring-Cloud 等组件个人理解

微服务的理解

将资源业务进行拆分
拆分的依据

  1. 那些业务访问次数多,流量大。
  2. 不是越细越好,越细服务之间的调用次数太多,响应时延过多,也会影响系统,用户体验。
    有些无关紧要的业务可以不拆分。

Spring-Cloud 分布式五大组件

Eureka-服务发现
Hystrix-熔断器
Zull-路由网管
Ribbon-负载均衡
Open-Fegin-远程调用

一. Eureka 注册中心

服务发现,服务管理
provider 生产者
consumer 消费者
以服务名注册

二. OpenFegin

自定义接口,远程调用:常用方法
Consumer:(消费者)

@FeginClient("PROVIDER")
public interface UcenterClient{
	@GetMapping("/ucenter/getUserVo")
	public WlzxUserVo getWlzxUserVo(@RequestParam("username") String username)
}

Controller
@AutoWired
private UcenterClient ucenterClinet;
远程调用(接口名.抽象方法)
ucenterClient.getWlzxUserVo("xxx");

三. 自我保护机制

服务中在运行时,会在 15分钟 内统计各个心跳失联,如果比例大于 15%,就会开启自我保护机制,会认这些心跳失联的节点是因为网络问题,当各个节点恢复心跳,达到比例就会退出自我保护机制。
心跳机制:各个节点启动后,每 30秒 会向 Server 发送心跳。

四. 熔断器

服务相互调用之间,出现服务雪崩,A==>B==>C,其中一个关联服务挂了,导致后面服务不能使用。
机制:当服务宕机,调用失败达到一个阈值,5秒失败20次,链路就会出现 open状态
在此提供一个熔断器,Fallbac k( 实现 FallbackFactory<Client> 接口,重写 create() 方法 )。

五. 路由网关

统一入口,所有请求服务都从网关调用,做到解耦。
过滤器能识别过滤些信息,权限。

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    942 引用 • 1459 回帖 • 31 关注
  • Eureka
    22 引用 • 3 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...