• krakend 扩展开发概述


    整体参考概述

    krakend的原则

    • Reactive 是核心
    • 快速失败
    • 简单最好
    • 所有都是插件
    • 每个请求都必须在自己的请求范围上下文处理

    krakend 内部状态

    krakend 内部包含了两种状态building && working

    • building 状态
      主要进行启动以及系统的准备,方便进行流量的接收处理,包含以下几个事情
    <wiz_code_mirror>
     
     
     
     
     
    解析配置
    中间件准备
    构建pipes
     
     

    pipe 是一个函数,方便进行请求的处理(request,response)
    building 状态完成之后,krakend 不需要进行任何,路由的处理,都是在内存处理的

    • working 状态
      working 状态是进行请求的处理,router 主要是进行请求handler 的映射,同时触发pipe 操作,proxy 是进行聚合的维护
      以及其他的处理

    几个比较重要的包

    krakend 包含了几个比较方便的包
    config 定义服务
    router 配置endpoint
    proxy 进行请求中间件的添加以及请求的处理,同时也进行与后端链接的管理

    • config 包
      config 基于viper 库尽心处理
    • router 包
      router 包含了接口几个服务的实现,基于mux 的net/http 路由,基于基于gin 包装的httprouter
    • proxy 包
      proxy 是一个函数,主要将一个给定的上下文以及请求转换为响应
      中间件是可以接收多个proxy 然后包装为一个proxy的函数

    说明

    krakend 官方对于krakend框架的内部机制介绍的还是比较详细的,可以看看,同时应该结合源码学习

    参考资料

    https://www.krakend.io/docs/extending/the-big-picture/

  • 相关阅读:
    对软件工程课程的期望
    软件工程进阶
    结对-爬取大麦网近期演唱会信息-需求分析
    对软件工程课程的期望
    自我介绍
    软件工程进阶
    阅读任务-阅读提问-1
    《对软件工程课程的期望》
    《自我介绍》
    第0周课后作业
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14193788.html
Copyright © 2020-2023  润新知