服务注册与发现

这里我们会用到Spring Cloud Netflix,该项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon)等。

所以,我们这里的核心内容就是服务发现模块:Eureka。下面我们动手来做一些尝试。

创建“服务注册中心”

创建一个基础的Spring Boot工程,并在pom.xml中引入需要的依赖内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.clc</groupId>
<artifactId>registry</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>registry</name>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency> <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> </project>

通过@EnableEurekaServer注解启动一个服务注册中心提供给其他应用进行对话。这一步非常的简单,只需要在一个普通的Spring Boot应用中添加这个注解就能开启此功能,比如下面的例子:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer
@SpringBootApplication
public class RegistryApplication { public static void main(String[] args) {
SpringApplication.run(RegistryApplication.class, args);
}
}

在默认设置下,该服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为,只需要在application.properties中问增加如下配置:

#服务端口
server.port=9001 eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

启动工程后,访问:http://localhost:9001/

至此,注册中心搭建完成

工程地址-https://gitee.com/chengluchao/clc__registry

最新文章

  1. [知识点]平衡树之Splay
  2. magento如何获取某一产品的订单量代码
  3. 核心概念 &mdash;&mdash; 门面(Facades)
  4. Java序列化与Hessian序列化的区别
  5. web_profile(网站分析)配置
  6. 关于企业选取ERP软件的建议
  7. navicat for mysql远程连接ubuntu服务器的mysql数据库
  8. SLAM for dummies中文翻译
  9. yii2记录
  10. 编写CentOS的System V init启动脚本
  11. proxysql 系列~审核功能
  12. thinkphp3.2自定义success及error跳转页面
  13. Android开发(二十一)——自动更新
  14. 根据IP获取所在的国家城市
  15. 通过path绘制点击区域
  16. select/poll/epoll 对比
  17. WinForm中播放视频示例(含源码)
  18. 2018.09.28 牛客网contest/197/A因子(唯一分解定理)
  19. 正则表达式学习之grep,sed和awk
  20. 破解myeclipse10失败的一个奇葩原因

热门文章

  1. 51 Nod 1238 最小公倍数之和 V3 杜教筛
  2. redis基本类型和操作
  3. git常用语句
  4. Codeforces Gym 100338H High Speed Trains 组合数学+dp+高精度
  5. GDKOI賽前總結
  6. JDK/Java SE官方文档汇总
  7. 三维场景如何嵌入到PPT中展示?
  8. DevExpress.XtraGrid 【转】
  9. Java中字符串转为16进制表示
  10. 转: 多版本并发控制(MVCC)在分布式系统中的应用 (from coolshell)