Springcloud–注册中心Eureka的搭建(一)
文 / 汝淉
里面有写的不合理和不恰当的地方欢迎指出来交流..
如需转载请说明出处,,,原创不易,,谢谢支持….
搭建之前,,提一下SpringBoot…因为Springcloud的基础使用的就是Springboot…
这里引用一下别人的文档…2小时学会Springboot.
当然再给几篇别人的博客,,我也是学习他们的,,,自己写的原因是因为,,,我写的相对更细,,,结构相对更分明一些…
可能自己理解力不是那么强,,看他们的会走一些死胡同…可以结合的一起看,,,这样更清晰…
以下是他们的链接
方志明的史上最简单的Springcloud专栏.写的非常用心..
翟永超的Spring Cloud构建微服务架构专栏..均可以结合之一起学习
在搭建之前,很有必要把整个服务结构分析一下..
始终记住一句话:::除了注册中心 其他所有的服务既是服务端也是客户端 这句话很重要 别进入误区
上截图更直观(不要嫌弃太low,哈哈哈)
接下来首先搭建注册中心..
工具:IDEA版本2018.1 jdk:1.8
一、搭建Eureka–也就是服务注册与发现(注册中心)
1新建工程,选择Spring Initializr,默认地址,或者修改为http://start.spring.io
2下一步,配置工程信息
3下一步,选择Cloud Discovery,勾选EurekaServer,完成
4在Application启动类上加入注解@EnableEurekaServer
..
..然后就创建成功了…
删除里面的mvn文件和包,,共3处..
pom.xml如下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</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.RC2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<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>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
启动类就是项目生成的第一个class文件..,,在该类名上加注解@EnableEurekaServer 就表明这个服务就是注册中心了…接下里去操作其他的步骤..当然注册中心服务也是靠这个类来启动的.
通过@EnableEurekaServer注解启动一个服务注册中心提供给其他应用进行对话。这一步非常的简单,只需要在一个普通的Spring Boot应用中添加这个注解就能开启此功能,比如下面的例子
package eureka.eurekaservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class EurekaserviceApplication {
//服务中心
public static void main(String[] args) {
SpringApplication.run(EurekaserviceApplication.class, args);
}
}
在默认设置下,该服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为,只需要在application.properties中问增加如下配置:
server.port=1111
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
为了与后续要进行注册的服务区分,这里将服务注册中心的端口通过server.port属性设置为1111。
启动工程后,访问:http://localhost:1111/
服务注册与发现到此创建完成..