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搭建篇的主要内容,如果未能解决你的问题,请参考以下文章

基于springcloud搭建项目-ribbon篇

SpringCloud-2.0(3. SpringCloud 环境搭建)

九SpringCloud实用篇_Nacos集群搭建

九SpringCloud实用篇_Nacos集群搭建

基于springcloud搭建项目-Hystrix篇

SpringCloud(Hoxton.SR3)基础篇:第三章Eureka集群 高可用的认证服务实现与搭建