spring cloud简介
Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的微服务:就是把一个单体项目,拆分为多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维.并且多个服务相互协调,相互配合,最终完成用户的价值. Spring Cloud是一系列框架的有序集合。其主要的设施有,服务发现与注册,配置中心,消息总线,负载均衡,断路器,数据监控等,通过Spring Boot的方式,可以实现一键启动,和部署。
Spring 没有重新造车轮,只是把各家的应用给综合起来。最后给开发者遗留下了一个足够简单的,相当容易部署的,相当容易学习的Spring 体系。至于为什么要学习Spring Cloud的体系,因为原先的体系过于复杂了,导致开发的环境艰难,正是由于开发的环境的艰难,Spring Cloud 的是Spring体系的简化版,简化了原有的复杂。
spring cloud搭建
博主使用的是IntelliJ IDEA 2021.1.2 版本进行环境搭建演示,如果使用Eclipse等IDE进行开发可以查看论坛内其他博主的博客进行学习。

打开IntelliJ IDEA
点击file – new – project按钮创建一个新的项目


设置GroupId和项目名称和项目路径


这时我们进入IDEA以后会发现我们项目只有Springcloud_Demo一个父项目,下面我问会创建Eureka,Zuul,Service等子模块对项目进行创建来实现微服务。
修改Pom文件
再进行Eureka模块搭建之前我们需要先对”Springcloud_Demo“pom文件进行相关Jar包的依赖导入

完整代码如下
4.0.0
com.xmy
Springcloud_Demo
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
2.1.4.RELEASE
UTF-8
1.8
Greenwich.RELEASE
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud-release.version}
pom
import
spring-milestones
Spring Milestones
https://repo.spring.io/milestone
false
创建Eureka注册中心模块
关于Eureka
Eureka是基于REST(Representational State Transfer)服务,主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。我们称此服务为Eureka服务。Eureka提供了java客户端组件,Eureka Client,方便与服务端交互。客户端内置了基于round-robin实现的简单负载均衡。在Netifix,为Eureka提供更为复杂的负载均衡方案进行封装,以实现高可用,它包括基于流量、资源利用率以及请求返回状态的加权负载均衡。
创建Eureka模块
右键点击SpringCloud_Demo父项目后,将鼠标拖入New选项框,点击Module选项创建子模块

点击next进行下一步操作
设置Eureka子模块名称,子模块路径,点击finish完成子模块创建


修改Eureka子模块的Pom文件

当Eureka子模块创建完成的时候,这时Eureka_Demo的pom.xml是没有Jar包依赖的的,我们需要手动导入Eureka需要的Jar包依赖。
详细代码如下
Springcloud_Demo
com.xmy
1.0-SNAPSHOT
4.0.0
Eureka_Demo
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
2.2.1.RELEASE
创建核心配置文件application.yml

代码如下:
# Tomcat server: port: 9099 # Spring spring: application: # 应用名称 name: eureka-demo eureka: client: sevice-url: defaultZone: http://localhost:${server.port}/eureka register-with-eureka: false fetch-registry: false
创建Application启动类

将EurekaApplication启动类配置到Configurations中
点击IDEA右上角的Add Configurations按钮,点击左上角的加号按钮后点击Spring Boot选项进入设置页面,设置启动名称以及启动类文件收点击OK按钮完成设置。

启动Eureka

在浏览器输入访问地址: http://localhost:9099访问Eureka注册中心

创建Zuul网关模块
关于Zuul
创建Zuul子模块
右键点击SpringCloud_Demo父项目后,将鼠标拖入New选项框,点击Module选项创建子模块

点击Finish完成子模块创建

修改Zuul子模块的Pom文件

当Zuul子模块创建完成的时候,这时Zuul_Demo的pom.xml是没有Jar包依赖的的,我们需要手动导入Zuul需要的Jar包依赖。
详细代码:
Springcloud_Demo
com.xmy
1.0-SNAPSHOT
4.0.0
Zuul_Demo
org.springframework.cloud
spring-cloud-starter-netflix-zuul
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
创建核心配置文件Application

详细代码:
server: port: 10010 spring: application: name: zuuldemo zuul: prefix: /api eureka: client: service-url: defaultZone: http://localhost:9099/eureka
在Zuul_Demo模块下的src/main/resources文件夹下创建application.yml核心配置文件,进行编写核心配置
编写ZuulApplication启动类

在Zuul_Demo模块下的src/main/java/com/xmy路径下创建ZuulApplication.java文件
详细代码如下:
package com.xmy; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableZuulProxy @EnableEurekaClient @SpringBootApplication public class ZuulApplication { public static void main(String[] args){ SpringApplication.run(ZuulApplication.class,args); } }
将ZuulApplication启动类配置到Configurations中

启动Zuul网关模块

可以看到Zuul网关服务已经被注册到Eureka注册中心。
创建Service服务模块
关于Service
Service模块是客户端模块,用户编写代码和功能实现。前端请求发送到Zuul网关再有网关发送到Service服务,可以是系统的安全性提升。
创建Service子模块
右键点击Cloud_Demo父项目后,将鼠标拖入New选项框,点击Module选项创建子模块,
点击ArtifactId输入框输入Service模块名称,在此我们使用Service_Demo进行命名。
点击Finish按钮完成子模块创建。

修改Service子模块的Pom文件

详细代码:
Springcloud_Demo
com.xmy
1.0-SNAPSHOT
4.0.0
ServiceDemo
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
tk.mybatis
mapper-spring-boot-starter
2.0.4
mysql
mysql-connector-java
com.github.pagehelper
pagehelper-spring-boot-starter
1.2.3
创建核心配置文件

详细代码:
server: port: 9080 spring: application: name: demoservice datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/cloud_project?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC username: root password: 1022 eureka: client: service-url: defaultZone: http://localhost:9099/eureka
在Service_Demo模块下的src/main/resources文件夹下创建application.yml核心配置文件,进行编写核心配置
编写ServiceApplication启动类

在Service_Demo模块下的src/main/java/com/xmy路径下创建ServiceApplication.java文件
详细代码:
package com.xmy; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class ServiceApplication { public static void main(String[] args){ SpringApplication.run(ServiceApplication.class,args); } }
将ServiceApplication启动类配置到Configurations中

设置启动名称和启动路径后点击OK按钮
启动Service服务模块

可以看到Zuul网关和Service服务都被注册到Eureka注册中心。到此我们的已经完成环境搭建。之后需要自行在Service服务中编写代码来实现功能,想创建多个service都可以,另外每个服务也可以链接不同的数据库;到此一个简单的Spring Cloud的环境搭建已经完成。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220453.html原文链接:https://javaforall.net
