1.springcloud从0单排之前言

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42199791/article/details/100102333

1.springcloud主要的功能应该有以下几方面:

1.服务的注册和发现

2.服务的负载均衡

3.服务的容错

4.服务的网关

5.服务配置的统一管理

6.链路追踪

7.实时日志

1.1服务的注册和发现(eureka)

图-服务发现-02

服务提供者、服务消费者、服务发现组件这三者之间的关系大致如下:

  • 各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息;

  • 服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者的接口;

  • 各个微服务与服务发现组件使用一定机制(例如心跳)通信。服务发现组件如长时间无法与某微服务实例通信,就会自动注销(即:删除)该实例;

  • 当微服务网络地址发生变更(例如实例增减或者IP端口发生变化等)时,会重新注册到服务发现组件;

  • 客户端缓存:各个微服务将需要调用服务的地址缓存在本地,并使用一定机制更新(例如定时任务更新、事件推送更新等)。这样既能降低服务发现组件的压力,同时,即使服务发现组件出问题,也不会影响到服务之间的调用。

服务发现组件(注册中心)应具备以下3个功能:

  • 服务注册表:服务注册表是服务发现组件的核心(注册中心),它用来记录各个微服务的信息,例如微服务的名称、IP、端口等。

  • 服务注册与服务发现:服务注册是指微服务在启动时,将自己的信息注册到服务发现组件上的过程。服务发现是指查询可用微服务列表及其网络地址的机制;

  • 服务检查:服务发现组件使用一定机制定时检测已注册的服务,如发现某实例长时间无法访问,就会从服务注册表中移除该实例。

1.2服务的负载均衡(Ribbon)

多个注册中心和多个服务提供者

负载均衡,其基本原理是通过运行在前面的负载均衡服务,按照指定的负载均衡算法,将流量分配到后端服务集群上,从而为系统提供并行扩展的能力。

1.3服务的容错(Hystrix)

微服务架构应用的特点就是多服务,而服务层之间通过网络进行通信,从而支撑起整个应用系统,所以,各个微服务之间不可避免的存在耦合依赖关系。但任何的服务应用实例都不可能永远的健康或网络不可能永远的都相安无事,所以一旦某个服务或局部业务发生了故障,会导致系统的不可用,我们知道当故障累积到一定程度就会造成系统层面的灾害,也就是级联故障,也叫雪崩效应,所以微服务需要在故障累计到上限之前阻止或疏通这些故障以保证系统的稳固安全

1.4服务的网关(Gateway)

内部服务不暴露给外面,由服务网关同意暴露给外面(api接口)

1.5服务配置的统一管理(SpringCloud Config)

布式系统外部化配置提供了服务器端和客户端的支持,它包括ConfigServer和ConfigClient两部分

1.6链路追踪(Spring Cloud Sleuth)

微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接
口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间
互相调用会越来越复杂。所以需要链路追踪,找到问题关键点

猜你喜欢

转载自blog.csdn.net/weixin_42199791/article/details/100102333