说起微服务,我们就不得不提spring cloud了,确实以它在微服务中的地位,也是值得我们一探究竟的,有兴趣的朋友们可以跟小编一起来学习一下spring
cloud的相关教程哦。
spring cloud它是一个分布式架构的服务治理体系,和Dubbo差不多的,但是这个更简单,一起搭建一个微服务架构吧。
第一步呢:我们先创建一个主Maven工程。
在pom.xml添加依赖。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xuye.parent</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> <name>sc-f-chapter1</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
第二步呢:在此项目下,再创建一个Module,作为注册中心。
注意:该Module是基于spring boot的。然后填好信息都是next,到此步骤,按下图选择,Cloud Discovery—Eureka Server
该模块的pom.xml暂时也不需要添加和修改的,因为已经继承了父项目的pom.xml了。
我们现在,需要去做的事情是,修改application.yml,如果后缀是properties的记得改后缀,如果看得懂的话呢,就自己修改成properties的格式。注册中心的,配置内容如下。
#服务端口号 server: port: 8901 #服务名称 spring: application: name: server eureka: instance: hostname: localhost client: #注册中心不需要注册自己,这两处默认值都为true,我们设为false registerWithEureka: false #注册中心不需要去发现服务 fetchRegistry: false #设置服务注册中心的URL,此处则表示为http://localhost:8901/eureka/ serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
然后我们去入口,Application中添加注解:@EnableEurekaServer,表示是一个注册中心。
OK了,此时注册中心已经配置完了,我们可以直接启动注册中心的服务器了。
第三步:在此项目下,我们新建一个Module,作为服务提供者。
创建Module的步骤和创建注册中心的Module一模一样,注意名字不要一样就可以了。
创建好了之后,我们再来看application.yml ,注意,如果后缀是properties的记得改后缀,如果看得懂的话,就自己修改成properties的格式也可以。
server: port: 8902 #此处需要加上该服务的名字 spring: application: name: client eureka: client: #向注册中心注册自己,此处默认为true,可以不用加的,但为了教学解释 registerWithEureka: true #让注册中心发现自己,默认也为true,可以不用加的,但为了教学解释 fetchRegistry: true #设置服务注册中心的URL,注册中心已经设置过了,直接去注册中心查看即可。 serviceUrl: defaultZone: http://localhost:8901/eureka/
注意上面的registerWithEureka: true和fetchRegistry: true是可以不用添加的,因为默认就是true的。
再去入口处添加注解@EnableEurekaClient,表示是一个服务提供者。我们来测试一下。
启动服务,注册中心和服务提供者都需要去启动的。
然后输入url:http://localhost:8902/hello
好了,以上就是本篇文章的所有内容了,还想了解更多java入门知识可以继续关注本站消息获取呢。
推荐阅读:
Spring Cloud Netflix是什么?有哪些作用?