十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容主要讲解“Cloudfoundry Grouter源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Cloudfoundry Grouter源码分析”吧!
创新互联建站是一家专注于网站设计制作、做网站与策划设计,道县网站建设哪家好?创新互联建站做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:道县等地区。道县做网站价格咨询:18980820575
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源码分析”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!