SpringCloud部署经验

Springboot启动基础

extends SpringBootServletInitializer

SpringBootServletInitializer作为Spring和外部Tomcat的连接桥梁,所有继承该类的类都将被Spring扫描。(多个的话顺序不明)

@SpringBootApplication 

指引SpringBoot启动该应用,并扫描同包名下的所有组件。

基础配置

Server:

port: 8899

application:

name: ApplicationName

 

路由服务的配置

@EnableEurekaServer

允许启动Eureka服务(服务注册与发现)

基本配置:

eureka:             

  client:

    #自己是否注册自己

    #register-with-eureka: false

    #查看有哪些注册信息(默认true,如果有zuul的话,需要该项为true,否则无法使用ServiceId映射)

#fetch-registry: false

#注册地址

service-url.defaultZone: http://localhost:8080/eureka
    #查看面板的路径(默认为根路径,如果有zuul需要把该路径过滤才能正常访问)

dashboard.path: /dashboard

 

@EnableZuulProxy

启动Zuul服务(路由服务)

基本配置:

zuul:

  #出现过setcookie被过滤的情况(默认会过滤setcookie,导致无法使用session)

  sensitiveHeaders:               

  #隐藏所有微服务名称(即使用微服务名称无法访问到服务)

  #ignored-services: "*"

  #过滤的路径

ignored-patterns:  /actuator/**, /dashboard/**, /ConfigServer/**, /eureka/**

  #服务前缀名,想要访问项目之前要加上此路径

#prefix: /prefexurl

  routes:

    #替换后访问的名称

Redict1:

  #访问路径,/**表示除了过滤的路径,所有的路径都将映射

  path: /**

      #serviceId需要与eureka同用,映射到已经注册再Eureka上spring.application.name为ApplicationName的所有服务上

      serviceId: ApplicationName

      #或者也可以直接采用url路径映射

      #url: http://139.9.39.143:80/

 

如果zuul需要使用eureka作为映射的数据来源,需要添加配置

ribbon:

  eureka:

enabled: true

ribbon为zuul负载均衡的内部部件。

 

#debug: true

 

 

 

 

添加一个Zuul Filter的示例

@Component

public class MyTestZuulFilter extends ZuulFilter {

 

    @Override

    public boolean shouldFilter() {

       // TODO Auto-generated method stub

       return true;

    }

 

    @Override

    public Object run() throws ZuulException {

       // TODO Auto-generated method stub

       RequestContext context = RequestContext.getCurrentContext();

       HttpServletResponse res = context.getResponse();

       //res.addHeader("Set-Cookie", "BDSVRTM=69; path=/");

       return res;

    }

 

    @Override

    public String filterType() {

       // TODO Auto-generated method stub

       return FilterConstants.POST_TYPE;

    }

 

    @Override

    public int filterOrder() {

       // TODO Auto-generated method stub

       return FilterConstants.DEBUG_FILTER_ORDER;

    }

}

@EnableConfigServer

配置中心服务

相关配置:

spring:

  profiles:

    #本地配置,还可以是git和svn

    active: native    

  cloud:

    config:

      server:

        #访问配置的前缀

        prefix: ConfigServer

        native:      

          #搜索路径

          search-locations: C:/Users/43583/Desktop/config-properties

 

微服务配置

@EnableEurekaClient

相关配置

eureka.client.service-url.defaultZone= http://localhost:8080/eureka

注意这个配置是可以放在远程配置中心的,如果添加了ConfigClient包,则配置服务会优先启动

 

远程配置数据访问

spring:

cloud:

config:

Profile : dev

name : ApplicationName

uri : http://localhost:8080/ConfigServer/

这样配置的话,访问到的配置文件是ApplicationName-dev.properties或者ApplicationName-dev.yml

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值