springcloud学习之旅(一)服务的注册于发现

来源:互联网 发布:中国纺织品出口数据图 编辑:程序博客网 时间:2024/05/22 16:53

一、spring cloud简介

spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解。如果不清楚可以看下springboot 教程
http://www.haha174.top/categories/details/10

二、创建服务注册中心

在这里,我们需要用的的组件上Spring Cloud Netflix的Eureka ,eureka是一个服务注册和发现模块。
创建一个maven 工程
引入父级工程 引入依赖

  <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.5.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>Dalston.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>

创建服务中心工程 为上面工程的module
依赖

   <dependencies>        <!--eureka server -->        <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-starter-eureka-server</artifactId>        </dependency>        <!-- spring boot test-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>        </dependency>    </dependencies>

配置文件

server:  port: 8080eureka:  instance:    hostname: localhost  client:    registerWithEureka: false    fetchRegistry: false    serviceUrl:      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
启动类

@EnableEurekaServer@SpringBootApplicationpublic class serverApp {    public static void main(String[] args) {        SpringApplication.run(serverApp.class, args);    }}

气动server 工程 发现此时没有服务注册进来
这里写图片描述

三创建服务

创建服务工程 为上面工程的module
依赖

 <dependencies>        <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-starter-eureka</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>        </dependency>    </dependencies>

配置文件

eureka:  client:    serviceUrl:      defaultZone: http://localhost:8080/eureka/server:  port: 8762spring:  application:    name: service-hi

启动类

@SpringBootApplication@EnableEurekaClient@RestControllerpublic class ServiceApp {    public static void main(String[] args) {        SpringApplication.run(ServiceApp.class, args);    }    @RequestMapping("/hi")    public String home(@RequestParam String name) {        return "hi "+name+",i am hi";    }}

启动service 发现已经注册进去了
这里写图片描述
文章地址:http://www.haha174.top/article/details/259647
项目源码:https://github.com/haha174/spring-cloud-learn-load

阅读全文
0 0
原创粉丝点击