文档章节

[Spring-cloud-eureka]使用 gradle, spring boot,Spring cloud Eureka 搭建服务提供者

Simonton
 Simonton
发布于 2017/09/09 23:19
字数 460
阅读 65
收藏 1

上篇博客,已经搭建好了一个可用的服务注册中心EurekaServer,下面我们开始搭建一个服务提供者EurekaAService.

1)  用 eclipse 新建一个 gradle 项目 EurekaAService.

2) 配置 build.gradle 文件,然后 gradle build 一次,确保所有的 jar都引用到位。

    build.gradle配置内容如下:

buildscript {
	repositories {
		jcenter()
	}
	
	dependencies {
		classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.6.RELEASE'
	}
}

apply plugin: 'java'
apply plugin: 'spring-boot'

repositories {
    jcenter()
}

dependencies {
	compile 'org.springframework.cloud:spring-cloud-starter-eureka:1.2.7.RELEASE'
	compile 'org.springframework.boot:spring-boot-starter-test'
	compile group: 'com.alibaba', name: 'fastjson', version: '1.2.32'
}

 

3)服务提供者 EurekaAService 实现。

    项目目录结构如下:

├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── simonton
    │   │           └── eureka
    │   │               ├── EurekaAApplication.java
    │   │               └── controller
    │   │                   └── EurekaAController.java
    │   └── resources
    │       └── application.yml
    └── test
        └── java

EurekaAController 代码如下:

/**
 * 
 */
package com.simonton.eureka.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSONObject;

/**
 * @author simonton
 *
 */
@RestController
public class EurekaAController {

	@Autowired
	private DiscoveryClient client;
	
	@RequestMapping(value="/serviceA", method=RequestMethod.GET)
	public String service() {
		System.out.println(JSONObject.toJSONString(client.getLocalServiceInstance()));
		return "service A";
	}
	
	@RequestMapping(value="/print", method=RequestMethod.GET)
	public void print() {
		System.out.println(" print info.");
	}
	
	@RequestMapping(value="/beforeService", method=RequestMethod.GET)
	public String beforeService() {
		return "Ready invoke service? ";
	}
}

EurekaAApplication 代码如下:

/**
 * 
 */
package com.simonton.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @author simonton
 *
 */
@EnableDiscoveryClient
@SpringBootApplication
public class EurekaAApplication {
	public static void main(String[] args) {
		SpringApplication.run(EurekaAApplication.class, args);
	}
}

@enableDiscoveryClient 用于激活 Eureka 中的  DiscoveryClient,让该 application 拥有与 server 交互的能力。本质上 Eureka client 是通过向 Eureka server 发送 restful 请求来实现服务的注册与服务信息查询的。

application.yml配置如下:

server:
  port: 8888
spring:
  application:
    name: a-service
eureka:
  client:
    service-url:
      defaultZone: http://localhost:9999/eureka

最后 Run EurekaAApplication,启动后,服务 a-service就注册好了。

下面是在服务注册中心查询到的服务注册信息:

通过工具 postman 可以测试该接口,测试验证近限于验证接口,并没有从服务注册中心,下一篇博客将讲述如何实现一个服务消费者,服务消费者才是从注册中心获取查询服务,然后消费。

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
Simonton
粉丝 12
博文 20
码字总数 10207
作品 0
浦东
高级程序员
springcloud(三):服务提供与调用

文章概述 上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。 案例中有三个角色: ...

AHUSKY
06/12
0
0
SpringCloud服务提供者创建

创建SpringBoot项目 eurekaclient 引入Maven依赖 application.yml配置 发布服务到Eureka 新建服务提供者 ------------------------------------------------------------------------------......

码家EDU
2017/10/18
0
0
热门技术从零开始学Spring Cloud视频教程发布

使用技术 (1)spring boot,使用版本:1.5.8 (2)spring cloud ,使用版本:Dalston.SR4 (3)Netflix Eureka (4)Netflix Ribbon (5)Feign (6)Netflix Hystrix (7)Spring Clou Con...

小红牛
08/04
0
0
跟大家介绍一下关于Spring Cloud Consul

Spring Cloud Consul项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置的工具。...

明理萝
06/13
0
0
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环...

方宏春
04/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

用Golang做了一个命令行贪吃蛇游戏

用Golang做了一个命令行贪吃蛇游戏 项目介绍 项目链接:https://gitee.com/lwow2025/snake-go 最近看了一本做几个小项目的书,突然就想用Golang做一个命令行贪吃蛇,也没啥特殊原因。 软件架...

Mediv
28分钟前
0
0
storm的利用并行度提高处理速度的经验

在storm的流计算框架中,在数据量非常大或者计算逻辑比较复杂的情况下,可能会造成处理速度变慢的情况,最后反而不满足了系统的处理要求,因此这里讨论一下。本文的内容是我在storm的使用过程...

飓风2000
38分钟前
0
0
课程推荐|深入浅出区块链博主:全栈区块链开发者的4堂必修课(线上优惠)

Tiny熊从2017年开始更新“深入浅出区块链”博客,在第一篇文章中,关于如何系统学习区块链技术,他这样描述:“从事区块链开发也有很多方向,如:区块链应用开发人员、区块链架构师、底层核心...

HiBlock
50分钟前
0
0
激活win10 亲测有效

1.首先,我们先查看一下Win10正式专业版系统的激活状态: 点击桌面左下角的“Windows”按钮,从打开的扩展面板中依次点击“设置”-“更新和安全”,并切换到“激活”选项卡,在此就可以查看到...

可达鸭眉头一皱
51分钟前
0
0
SpringWind180926

SpringWind SpringWind项目代码学习笔记 /SpringWind/src/main/webapp/WEB-INF/views/login.html 第15行action="#springUrl('/account/login.html')"【为什么是#springUrl】 第4行<a class=......

颖伙虫
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部