您现在的位置是:主页 > 数据库技术 > 数据库技术

Cloudfoundry Grouter源码分析

IDCBT2021-12-31服务器技术人已围观

简介本篇内容主要讲解“Cloudfoundry Grouter源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Cloudfoundry Grouter源码分析”吧! GoRo

本篇内容主要讲解“Cloudfoundry Grouter源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Cloudfoundry Grouter源码分析”吧!

GoRouter源码分析 GoRouter的主要功能是接受用户的请求信息,根据请求URL查询GoRouter在内存中维护的路由信息表信息,然后将URL转发到具体的组件. GoRouter有几个重要的组件: Proxy, router, registry

Proxy: 外部所有的请求进入Cloudfoundry都需要经过proxy, proxy 根据请求的URL 到路由表里查找对应的节点,并且如果请求头中包含了cookie,则解析出节点id,将请求分发路由到具体的节点(比如:多个DEA, 就会路由到某一个固定的DEA),如果没有cookie,则根据路由算法,选择一个DEA, 响应时添加cookie返回用户,也就是sessionsticky.

Router: 主要是定义了一个router的数据结构,以及一些初始化流程,已经运行的流程(run 方法), router 会启动定时器去查询droplet是否过期,如果过期了,会通知registry模式去更新路由信息

Registry: 处理DEA或者组件到GoRouter注册uri 的路由信息. Cloudfoundry是通过NAT来进行通信的,NAT通信采用的是 订阅/发布的设计模型进行通信 ,GoRouter 启动的时候会去NAT订阅注册和去注册的信息(router.register/router.unregister), 当有别的组件发布 router.register/router.unregister 事件时,GoRouter就会收到订阅的消息,通知registry模块去更新路由表.

用户访问GoRouter的流程图如下: User/LB不属于GoRouter组件, 心跳检测通过在请求的头文件添加“HTTP-Monitor/1.1”来判断.

GoRouter的启动流程图如下:

到此,相信大家对“Cloudfoundry Grouter源码分析”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

标签:

很赞哦! ()

本栏推荐