zoukankan      html  css  js  c++  java
  • 微服务的服务治理、服务调用、服务网关、服务容错、链路追踪

      接触微服务,我们一定会有这样的几个问题:微服务如何管理?如何调用?如何访问?如何容错?如何排错?带着这些问题,我们来看一下微服务的架构设计。

    一、服务治理

      服务治理就是进行服务的自动化管理,其核心是服务的自动注册与发现。

      服务注册就是服务实例将自身服务信息注册到注册中心。

      服务发现就是服务实例通过注册中心,获取服务实例的信息,通过这些信息去请求他们提供的服务。

      服务剔除就是服务注册中心将出问题的服务自动剔除到可用列表之外,使其不会被调用。

    二、服务调用

      在微服务架构中,通常存在多个服务之间的远程调用请求。目前主流的远程调用技术有基于HTTP的RESTful接口以及基于TCP的RPC协议。

      REST(Representational State Transfer)是一种HTTP的调用格式,更标准,更通用。

      RPC(Remote Promote Call)一种进程间通信方式,允许像调用本地服务一样调用远程服务。RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式、序列化方式和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可,并不需要关心通信细节和调用过程。

    区别与联系

     三、服务网关

      随着微服务的不断增多,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求。

      如果让客户端直接与各个微服务通信,可能会出现很多问题:客户端需要调用不同的url地址,增加难度;在一定场景下存在跨域请求问题;每个微服务都需要进行单独的身份认证。

      针对上述问题,API网关顺势而生。API网关就是将所有API调用统一接入到API网关层,由网关统一接入和输出。一个网关的基本功能有:统一接入、安全防护、协议适配、流量管控、长短链支持、容错能力。有了网关之后,各个API服务提供团队可以专注自己的业务逻辑处理,而API网关更专注于安全、流量、路由等问题。

    四、服务容错

      在微服务中,一个请求经常会涉及到调用几个服务,如果其中某个服务不可用,没有做服务容错的话,极有可能会造成过一连串的服务不可用,这就是雪崩效应。

      我们无法预防雪崩效应的发生,只能尽可能去做好服务容错,服务容错的三个核心思想是:不被外界环境影响,不被上游请求压垮,不被下游响应压垮。

    五、链路追踪

      随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往要涉及多个服务。互联网应用构建在不同软件模块集上,这些软件模块,由可能是不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要对一次请求涉及多个服务链路进行日志记录,性能监控即链路追踪。

     

  • 相关阅读:
    Git教程
    test
    Android中的权限机制
    Android中<uses-library>的理解
    权限机制
    总是听到有人说AndroidX,到底什么是AndroidX?Android和AndroidX的区别
    VMware Tools按钮变灰色,无法安装的解决方法
    VMware Tools (ubuntu系统)安装详细过程与使用
    Android studio常用快捷键
    CVE漏洞分析
  • 原文地址:https://www.cnblogs.com/guanghe/p/13803733.html
Copyright © 2011-2022 走看看