1、服务的注册和发现

2、服务的负载均衡

3、服务的容错

4、服务网关

5、服务配置的统一管理

6、链路追踪

7、实时日志

一、  服务的注册和发现 

        服务注册时是指向服务注册中心注册一个服务实例,服务提供者将自己的服务信息告知服务中心,服务发现是指服务消费者需要将需要消费另一个服务时,服务注册中心能够告知服务消费者它所要消费服务的实例信息。通常情况下,一个服务提供者,也是服务消费者,服务消费者一般使用HTTP协议或者消息组件这种轻量级的通信机制来进行服务消费。

         服务注册中心会提供服务的健康检查方案,检查被注册的服务是否可用,通常一个服务实例注册后,会定时向服务注册中心提供 “ 心跳 ”  以表明自己还处于可用的状态,一旦心跳停止,服务注册中心将会把该服务实例从服务注册中心列表中移除,重新心跳之后,服务注册中心将会把该服务实例重新添加到服务注册中心列表中。

二、服务的负载均衡

     在微服务架构中,服务之间相互调用一般是通过HTTP协议来实现的,网络往往具有不可靠性,为了保证服务的高可用,服务单元往往是集群化部署,这就涉及到了服务的负载均衡

三、服务的容错

    服务之间相互依赖性也是错综复杂的,一个网络请求通常需要调用多个服务才能完成,如果一个服务不可用,会影响到依赖这个不可用服务的其他服务,导致这些服务的线程消耗殆尽,进而导致依赖于它们的服务不可用,最后导致系统瘫痪,为了解决分布式系统的雪崩效应,分布式系统引入了熔断器机制,当一个服务的处理用户的请求的失败次数在一定的时间内小于设定的阈值,熔断器处理关闭状态,服务正常,当服务器处理用的请求失败次数在一定的时间内大于设定的阈值时,说明服务出现了故障,打开熔断器,这时所有的请求会执行快速失败,不执行业务逻辑。当处于打开状态的熔断器时,一段时间后会处于半打开状态,并执行一定数量的请求,剩余的请求会执行快速失败,若执行的请求失败了,则继续打开熔断器,若成功了,则将通短期关闭

四、服务网关

微服务系统通过将资源以API接口的形式暴露给外界来提供服务。网关可以做一些用户认证、权限认证、防止非法请求操作API接口,对内服务起到保护作用。网关可以实现监控功能,实时日志输出,对请求进行记录,还可用来做流量监控,在高流量的情况下,对服务进行降级,网关实现这些功能,需要做到高可用,最常用的网关组件有Zuul、Nginx。

五、服务配置的统一管理

    为了管理方便,将所有的配置文件放到一个配置文件仓库,配置服务启动后,读取配置文件信息,读取完成的配置信息放到配置服务的内存中,当启动A,B服务时,由于A,B指定了向配置服务读取配置信息,服务A,B向配置服务读取配置信息。当服务的配置信息需要修改且修改完成后,向配置服务发送Post请求进行刷新,这时服务A,B会向配置服务重写读取配置文件

六、服务链路追踪

为了快速定位问题,需要记录每一个请求的请求路径,去跟进一个请求到底有哪些服务参与 ,参与的顺序又是怎样的2

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐