springcloud项目的启动顺序_手把手教你搭建一个功能完善的SpringCloud微服务架构项目四...

前言

在往期文章手把手教你搭建一个功能完善的SpringCloud微服务架构项目一以及后篇中讲述了springcloud微服务架构小说平台项目的系统架构设计、数据库设计、如何爬取网络热门小说数据以及项目父工程搭建和项目通用模块搭建及类和配置详解。微服务注册中心是整个系统的核心,所有的微服务都需要在注册中心注册服务信息以及在注册中心拉取其他服务的信息。微服务网关是所有微服务的访问入口,它实现了微服务的路由、过滤和鉴权。本文主要讲述如何搭建我们微服务项目的注册中心Eureka和网关Zuul。

微服务注册中心novel-eureka搭建及详解

springcloud注册中心组件eureka通过了springboot进行了封装,本质上也是一个springboot项目,开发阶段暂时使用一个注册中心,正式部署的时候会使用eureka集群的方式,创建过程如下:

1.创建novel-eureka模块,选择模块类型为maven类型和project sdk为1.8

2.设置pom文件,添加eureka相关的jar依赖和springboot的maven插件

3.resources文件夹下添加application.yml配置文件,配置文件各项配置详解如下:

4.添加springboot项目启动类,并开启注册中心服务

微服务网关Zuul搭建及详解

springcloud网关组件zuul也通过了springboot进行了封装,本质上也是一个springboot项目,开发阶段暂时使用一个zuul网关,正式部署的时候会使用nginx+zuul负载均衡的方式部署,创建过程如下:

1.创建novel-zuul模块,创建过程参考注册中心Eureka的创建

2.设置pom文件,添加zuul相关的jar依赖和springboot的maven插件

3.resources文件夹下添加application.yml配置文件,配置文件各项配置详解如下:

4.添加全局跨域配置类GlobalCorsConfig解决跨域问题

//1.添加CORS配置信息CorsConfiguration config = new CorsConfiguration(); //1) 允许的域,不要写*,否则cookie就无法使用了 config.addAllowedOrigin("此处填写我们需要跨域的域名"); //2) 是否发送Cookie信息 config.setAllowCredentials(true); //3) 允许的请求方式 config.addAllowedMethod("OPTIONS"); config.addAllowedMethod("HEAD"); config.addAllowedMethod("GET"); config.addAllowedMethod("PUT"); config.addAllowedMethod("POST"); config.addAllowedMethod("DELETE"); config.addAllowedMethod("PATCH"); // 4)允许的头信息 config.addAllowedHeader("*"); // 5) 有效时长 config.setMaxAge(3600L); //2.添加映射路径,我们拦截一切请求 UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); configSource.registerCorsConfiguration("/**", config); //3.返回新的CorsFilter. return new CorsFilter(configSource);

5.添加springboot项目启动类,并开启zuul代理服务

更多教程

手把手教你搭建一个功能完善的SpringCloud微服务架构项目二

手把手教你搭建一个功能完善的SpringCloud微服务架构项目三

ps:图文配套视频已经开始出了,想要源码的请留言,了解更多信息请关注我。

单选|是否需要出配套视频教程?

需要

不需要

打开百度APP进行投票

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# springcloud-zone #### 项目介绍 项目为学习用途搭建,主要包括以下模块: springcloud-register:服务注册中心 (eureka-server),提供服务注册与发现功能。 springcloud-config:远程配置中心,分为git与native两个版本,为producer提供远程配置。 springcloud-connect:数据连接中心,包含DB、Redis、MQ、Mail等组件的配置入口,只需其他模块在pom中添加依赖并提供相关配置即可快速接入。 springcloud-producer:服务提供者,包含具体的业务逻辑实现等。 springcloud-consumer:服务消费者,从eureka server中获取producer提供的服务。 springcloud-gateway:网关接口,暴露给调用方调用,包含负载均衡、重试、熔断等功能。 springcloud-zipkin:链路跟踪工具,监控并就持久化微服务集群中调用链路的通畅情况,采用rabbitmq异步传输、elasticsearch负责持久化的方式集成。 #### 软件架构 1、JDK:jdk-8u181-windows-x64。 2、MAVEN:apache-maven-3.5.4 3、IDE:spring-tool-suite-3.9.3.RELEASE-e4.7.3-win32-x86_64 4、springboot:1.5.10.RELEASE。 5、springcloud:Edgware.SR2版本 #### 安装程 需要提前安装如下程序: 1、ActiveMQ。 2、RabbitMQ。 3、Redis 4、Elasticsearch。 5、Elasticsearch-head。 6、MYSQL(执行springcloud-producer目录src/main/resources/templates/datasource.text中的建表语句) #### 使用说明 项目运行顺序: 1、 springcloud-register, 2、 springcloud-config-native或者springcloud-config-git: 启动git远程配置中心需要修改springcloud-producer项目的bootstrap.yml配置文件,并将配置配件上传到git上。 3、springcloud-zipkin。 4、 springcloud-producer。 5、springcloud-consumer。 6、springcloud-gateway. 注: 在测试gateway负载均衡时可以启动单个项目的多个实例,具体方式如下: 1、项目启动类右键run as->run configurations..,打开配置框。 2、java application右键new,打开新建窗口。 3、顶部tab选中Main,在name中填写启动类名称,project中填写项目名称,main class中填写启动类详细路径+类名。 4、顶部tab选中Arguments,在VM arguments中填写-Dserver.port=端口号,比如-Dserver.port=8080 5、点击run即可以配置的端口号启动多个项目实例了。 #### 参与贡献 ningchongqing
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值