spring clound之eureka学习(1)服务端的搭建和注册客户端

       微服务架构是很火了。用了一天过滤式的看了下概念,感觉对目前公司的架构还是可以有一点帮助的。概念性的东西在网上已经很多大神解释了,本文是个人学习的一些记录。和大家一样我也是没接触过spring clound,连spring boot都比较少用。

听说eureka要闭源了,但是看了下这个比其他几个服务发现框架简单。下面先搭起一个eureka注册中心:

这个是项目目录结构,使用maven构造一个简单的maven项目,因为spring clound里面的框架集都是基于spring boot的,所以要引入spring boot。

pom的配置

    <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
	</parent>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		<!-- 心跳 -->
		<!-- <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency> -->
	</dependencies>

实在找不到xml的设置,吐槽一下,知道怎么设置xml高亮的麻烦告诉一下。

下面是java代码:

/**
 * 注册中心主程序入口
 */
@EnableEurekaServer
@SpringBootApplication
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

@SpringBootApplication  这个标明了spring  boot,@EnableEurekaServer这个则代表是eureka服务端。

application.properties的配置

server.port=8011
#是否将自己注册到Eureka Server,默认为true
eureka.client.register-with-eureka=false
#是否从Eureka Server获取注册信息,默认为true
eureka.client.fetch-registry=false
eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://localhost:8011/eureka/

这个就是一个简单的eureka服务端。启动之后可以访问http://localhost:8011,则出现如图:

但注册中心只是注册别人的服务,就像某东、某宝,需要商家注入提供服务才行。

所以我们还需要一个client端来提供服务。

我这里提供一个计算的服务:

这个是项目目录结构,pom文件如下:

    <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
		<relativePath />
	</parent>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
	</dependencies>

application.properties的配置:

spring.application.name=test-service
server.port=8033

eureka.client.serviceUrl.defaultZone=http://localhost:8011/eureka/

spring boot入口文件配置:

@EnableEurekaClient
@SpringBootApplication
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

@EnableEurekaClient 这个标签是用来发现服务,当前服务启动就会被发现。具体的话没看过源码,暂时不知道原理。

OK,配置完成之后启动就可以看到在刚刚的服务管理台看到:

简单的eureka注册服务端,一个客户端完成。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值