SpringCloud.Eureka.源码分析.001.EurekaServer web.xml分析

前面的话:

SpringCloud Eureka的用法相对比较简单,这里就不讲了,可以参考官方文档搭建一个EurekaServer测试一下。我觉得能看到这篇文章的人肯定也是想看一下源码方面的知识,一起思考和学习。

1.EurekaServer web.xml

EurekaServer web.xml源码主要内容如下:

<listener>
  <listener-class>com.netflix.eureka.EurekaBootStrap</listener-class>
</listener>

<filter>
  <filter-name>statusFilter</filter-name>
  <filter-class>com.netflix.eureka.StatusFilter</filter-class>
</filter>

<filter>
  <filter-name>requestAuthFilter</filter-name>
  <filter-class>com.netflix.eureka.ServerRequestAuthFilter</filter-class>
</filter>
<filter>
  <filter-name>rateLimitingFilter</filter-name>
  <filter-class>com.netflix.eureka.RateLimitingFilter</filter-class>
</filter>
<filter>
  <filter-name>gzipEncodingEnforcingFilter</filter-name>
  <filter-class>com.netflix.eureka.GzipEncodingEnforcingFilter</filter-class>
</filter>

我们大致猜测一下:

  • StatusFilter:负责状态相关的处理逻辑
  • ServerRequestAuthFilter:一看就是,对请求进行授权认证的处理的
  • RateLimitingFilter:负责限流相关的逻辑的(很有可能成为eureka-server里面的一个技术亮点,看看人家eureka-server作为一个注册中心,是怎么做限流的,先留意算法是什么,留到后面去看)
  • GzipEncodingEnforcingFilter:gzip,压缩相关的;encoding,编码相关的

2.关于EurekaBootsTrap

从上面的web.xml我们可以分析出来,有一个ListenerClass即:EurekaBootStrap会启动

<listener>
  <listener-class>com.netflix.eureka.EurekaBootStrap</listener-class>
</listener>

那么我们接下来分析一下这个EurekaBootStrap,首先执行的方法是contextInitialized这个方法

public void contextInitialized(ServletContextEvent event) {
        try {
            initEurekaEnvironment();
            initEurekaServerContext();

            ServletContext sc = event.getServletContext();
            sc.setAttribute(EurekaServerContext.class.getName(), serverContext);
        } catch (Throwable e) {
            ......
        }
    }

我们猜测一下上面代码中主要的两个方法作用:
initEurekaEnvironment():初始化Eureka环境
initEurekaServerContext():初始化Eureka服务上下文

3.总结

  • 简单介绍了web.xml
  • 了解到了EurekaBootStrap是核心入口
  • 了解到了EurekaBootStrap的主要的初始化方法contextInitialized
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值