文档章节

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

Simonton
 Simonton
发布于 2017/09/09 23:19
字数 460
阅读 81
收藏 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
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

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

方宏春
04/14
0
0
初探Spring Cloud(一)

什么是Spring Cloud? Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主...

__HuWei
12/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
14
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
19
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
19
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
9
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部