前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud 教程 - Eureka Server

Spring Cloud 教程 - Eureka Server

作者头像
代码拾遗
发布2018-09-30 12:08:12
6410
发布2018-09-30 12:08:12
举报
文章被收录于专栏:代码拾遗

如何使用Eureka Server

将groupId 为 org.springframework.cloud,artifactId 为spring-cloud-starter-netflix-eureka-server的依赖添加到项目中即可引入Eureka Server,具体版本号可以参考Spring Cloud Project 使用如下代码快速启动Eureka Server

代码语言:javascript
复制
@SpringBootApplication@EnableEurekaServerpublic class Application {    public static void main(String[] args) {        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }

}

Server 包含一个主页和其他的HTTP API,默认在/eureka/*路径下。

 高可用,Zones和Regions

Eureka并不包含存储,但是所有的服务实例必须发送心跳信息来更新啊们的状态,这些信息都是在内存中操作的。客户端同样也包含一个Eureka的注册信息。 默认情况下,一个Eureka的Server同样也是一个Eureka的Client,需要配置Service URL来定位对方。

独立模式

由于Server和Client缓存的存在,使得独立模式下的Eureka对于失败更具有弹性,只要有其他的监控或者弹性运行时保证其可用 接口。在独立模式下,可以选择关闭Client想问,这样Client就不会持续尝试获取其他断点,例如:

代码语言:javascript
复制
server:
  port: 8761eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
对等模式

通过多实例互相注册,可以使得Eureka更具弹性和可靠性。例如:

代码语言:javascript
复制
---
spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2/eureka/---
spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1/eureka/

配置两个Eureka Server,这两个Server互相注册。

使用IP地址注册

通过设置eureka.instance.preferIpAddress=true 开启IP地址注册,设置后,Eureka Client会使用IP注册器服务而不是其hostname。

为Eureka Server添加安全认证

可以通过spring-boot-starter-sercurity对Eureka Server添加安全认证。默认情况下,将其添加到classpath后,会对每个请求进行CSRF检查。Eureka并不会生成CSRF token,所以需要关掉对/eureka/*路径下的检查:

代码语言:javascript
复制
@EnableWebSecurityclass WebSecurityConfig extends WebSecurityConfigurerAdapter {    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().ignoringAntMatchers("/eureka/**");        super.configure(http);
    }
}

用户认证可以通过设置如下开启

代码语言:javascript
复制
security:
    basic:
        enabled: true
    user:
        name: name
        password:password
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 代码拾遗 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  高可用,Zones和Regions
    • 独立模式
      • 对等模式
      • 使用IP地址注册
      • 为Eureka Server添加安全认证
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档