《从 0 开始学微服务》学习归整(二)发布和引用

内容纲要

核心功能

  • 规定服务提供者如何发布服务
  • 规定服务使用者如何引用服务

常见发布、应用方式

RESTFul API

  • 原理
    • 用作 HTTP 和 HTTPS 协议的接口定义
  • 特点
    • 简单(学习成本低)
  • 使用场景
    • 跨业务平台之间的服务协议

XML 配置

  • 原理
    • 在服务提供者和服务引用者之间维持一份对等的 XML 配置,用来保证引用者按约定来进行服务调用
  • 特点
    • 入侵性较高(服务提供者如果修改了接口定义,需要同时修改提供者和引用者的 XML 配置)
  • 使用场景
    • 高性能要求场景
      • 一般私有 RPC 框架会使用这种方式(因为 RPC 性能好)

IDL 文件

  • 原理
    • 通过一种中立的方式来描述接口,使得在不同平台上的对象和不同语言编写的程序可以相互通信交流
  • 特点
    • 跨平台
    • 跨语言
    • 入侵性较高
  • 使用场景
    • 用作跨语言、平台程序之间的调用(Thrift、gRPC 等)

落地

XML 配置方式(发布、引用流程 )

  1. 服务提供者定义接口
    • 定义接口
    • 声明接口名、传递参数、返回值类型等
    • *提供接口使用包(非必须,每个语言、框架可能不一样)
  2. 服务提供者发布接口
    • 通过在服务发布配置文件中定义的接口来实现(具体见 XML 配置规则)
    • 在服务发布者启动服务时加载 XML 配置文件,并暴露接口
  3. 服务消费者引用接口
    • 通过在服务引用配置文件中定义要引用的接口(有接口包的需要导入接口包,看服务发布者有没有提供)
    • 在服务引用者启动服务时加载 XML 配置来完成服务引用

避坑指南

  1. 服务发布预定义配置
    • 把服务端发布的详细服务配置信息转移到引用端(减少注册、配置中心面对网络异常而导致的短时间内大量获取配置的压力)
  2. 服务引用预定义配置
    • 由于发布配置以及转移到引用配置,引用配置可以引用发布配置的配置项(具体操作请看对应的文档)
  3. 服务配置升级(步骤)
    • 没体验过,文章看的不是很明白,以后回来补上

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注