springcloud搭建篇
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springcloud搭建篇相关的知识,希望对你有一定的参考价值。
springcloud微服务
微服务:拆分、单一、独立、组件化。将一个复杂的庞大的项目拆分成一个一个的小项目独立的运行,通过接口的方式组装成一个大项目。
springcloud是基于springboot的一套实现微服务的框架。
提供了微服务开发所需要的配置管理,服务管理,断路器,智能路由,微代理,控制总线,全局锁,策略竞选,分布式会话和集群状态管理等组件。
springcloud的五大组件:
服务的注册发现 Netflix Eureka
配置中心 spring cloud config
负载均衡 Netflix Ribbon
断路器 Netflix Hystrix
路由 (网关) Netflix Zuul
今日学习总结
springcloud的集群搭建
三个注册中心的搭建集群:
搭建maven项目
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.7.RELEASE</version>
<relativePath />
</parent>
<properties>
<!--main方法类 -->
<start-class>com.cc.yonyou.ServicEureka1</start-class>
<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>Dalston.SR4</spring-cloud.version>
<swagger.version>2.2.2</swagger.version>
</properties>
<dependencies>
<!--eureka server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<!--表示为web工程 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--暴露各种指标 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix</artifactId>
<version>1.4.0.RELEASE</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>
<!--打包跳过测试插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</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>
</project>
项目的启动类:
@EnableEurekaServer
@SpringBootApplication
public class ServicEureka1
{
public static void main( String[] args )
{
SpringApplication.run(ServicEureka1.class, args);
}
}
注意: 在启动类 @EnableEurekaServer 这个注解注册中心服务
接下来还需要在全局配置中心配置(这是重点):
# 配置端口号
server.port=12001
# 是否向注册中心注册自己
eureka.client.register-with-eureka=false
# 是否需要检索服务
eureka.client.fetch-registry=false
# 项目的名称
spring.application.name=eureka-server
# 访问的ip别名
eureka.instance.hostname=master
# 将自己注册到backup、king这个Eureka上面去 同时这也是注册中心的请求地址
eureka.client.serviceUrl.defaultZone=http://backup:12002/eureka/,http://king:12003/eureka/
# 显示ip地址
eureka.instance.preferIpAddress=true
# eureka服务清理间隔(单位是毫秒)
eureka.server.eviction-interval-timer-in-ms=4000
# 关闭eureka自我保护
#eureka.server.enable.self.preservation=false
同理在创建两个同样的项目
只需要修改全局配置文件即可
这个时候重点来了: 如果这三个项目都是在windows系统下:则需要修改hosts文件:eureka.client.serviceUrl.defaultZone=http://backup:12002/eureka/,http://king:12003/eureka/
在hosts文件种添加:
127.0.0.1 backup
127.0.0.1 king
如果放在服务器上,同样需要修改hosts文件
vi /etc/hosts
修改问对应的服务器的 ip号即可
此时:springcloud注册中心的集群才算搭建完成:
接下来就是向注册中心中 注册服务:
以上是关于springcloud搭建篇的主要内容,如果未能解决你的问题,请参考以下文章