Spring Cloud系列之Eureka服务治理
写在前面
Spring Cloud Eureka是基于Netflix Eureka做的二次封装.主要包含两部分:
服务注册中心 eureka server
服务提供者 eureka client
ps:Netflix提供的模式包括服务发现(eureka),断路器(hystrix),智能路由(zuul)和客户端负载平衡(ribbon)
服务注册中心
创建服务注册中心
1.新建项目,这里我使用的是IDE是idea,
2.勾选依赖
后面,选择好项目的存储路径,就完成了项目的初始化了.初始化比较慢的话,建议把自己的maven镜像源改为国内的,例如:阿里的.
3.项目构建完成之后,可以简单查看pom文件
主要想说一下,关于SpringBoot和SpringCloud版本匹配问题,如果,没什么特殊要求,默认就好.如果想要修改版本,可以查看官网的版本对照表来选择合适的版本
https://projects.spring.io/spring-cloud/
4.在启动之前,修改配置文件
#修改服务端口(看自己)
server:
port: 8088
#设置运用的名称
spring:
application:
name: eureka-server
#覆盖默认eureka server地址
eureka:
client:
service-url:
defaultZone: http://localhost:8088/eureka/
5.启动类上面添加@EnableEurekaServer的注解,这样才表示你有注册中心这个功能
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
6.启动测试,web地址:http://127.0.0.1:8088
说明:在默认设置下,Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为。
7.禁用注册行为
测试访问;
已经没有server.
服务提供者
这里我创建项目和之前类似,主要是在依赖选择这里需要注意
等待项目构建完成,简单查看pom文件
还是版本问题,最好是和之前选择的保持一致
接下来,就要考虑如何才能把我们这个服务注册到 之前的注册中心去呢?
这里肯定是需要配置一下的,
#修改服务端口,这个端口不能和注册中心冲突
server:
port: 8762
#设置运用的名称
spring:
application:
name: eureka-client01
#注册中心地址
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
接着,在启动类上添加注解@EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient
public class ClientApplication {
public static void main(String[] args) {
SpringApplication.run(ClientApplication.class, args);
}
}
启动测试,测试的时候,会发现我们的client老是不能启动成功.
原因是因为M9版本的discoveryclient是没有集成spring-boot-starter-web的依赖的.
在pom文件中添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
重新测试启动:
好的,到这里就结束啦..后面会继续更新自己的学习笔记..
Spring Cloud系列之Eureka服务治理的更多相关文章
- Spring Cloud 系列之 Gateway 服务网关(二)
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Gateway 服务网关(一) 本篇文章讲解 Gateway 网关的多种路由规则.动态路由规则(配合服务发现的路由规则 ...
- Spring Cloud 系列之 Gateway 服务网关(四)
本篇文章为系列文章,未读第一集的同学请猛戳这里: Spring Cloud 系列之 Gateway 服务网关(一) Spring Cloud 系列之 Gateway 服务网关(二) Spring Cl ...
- Spring Cloud 系列之 Gateway 服务网关(三)
本篇文章为系列文章,未读第一集的同学请猛戳这里: Spring Cloud 系列之 Gateway 服务网关(一) Spring Cloud 系列之 Gateway 服务网关(二) 本篇文章讲解 Ga ...
- Spring Cloud 系列之 Eureka 实现服务注册与发现
如果你对 Spring Cloud 体系还不是很了解,可以先读一下 Spring Cloud 都有哪些模块 Eureka 是 Netflix 开源的服务注册发现组件,服务发现可以说是微服务架构的核心功 ...
- Spring Cloud 入门教程 - Eureka服务注册与发现
简介 在微服务中,服务注册与发现对管理各个微服务子系统起着关键作用.随着系统水平扩展的越来越多,系统拆分为微服务的数量也会相应增加,那么管理和获取这些微服务的URL就会变得十分棘手,如果我们每新加一个 ...
- Spring Cloud(Dalston.SR5)--Eureka 服务实例健康检查
默认情况下,Eureka 客户端每隔 30 秒会发送一次心跳给服务器端,告知正常存活,但是,实际环境中有可能出现这种情况,客户端表面上可以正常发送心跳,但实际上服务是不可用的,例如,一个需要访问数据的 ...
- Spring Cloud(Dalston.SR5)--Eureka 服务消费
服务被注册.发布到 Eureka 服务器后,需要有程序去发现他,并且进行调用,称为服务消费,一个服务可能会部署多个实例,调用过程可能涉及负载均衡.服务器查找等问题,这些问题 Netflix 项目已经帮 ...
- 2.Spring Cloud初相识--------Eureka服务注册与消费
前言: 1.Eureka介绍: Spring Cloud Eureka,使用Netflix Eureka来实现服务注册与发现,它既包含了服务端组件,也包含了客户端组件,并且服务端与客户端均采用Java ...
- Spring Cloud Netflix之Eureka服务消费者
Eureka服务消费者介绍 Eureka服务消费者用于发现服务和消费服务,发现服务通过Eureka Client完成,消费服务通过Ribbon完成,以实现负载均衡.在实际项目中,一个服务往往同时是服务 ...
随机推荐
- 12款好用超赞的国外搜索资源网站 ,开发者们的标配,你都知道吗?不知道就OUT了
简介 看了 看了网上有好多推荐插件的文章,很少有推荐搜索资源网站,于是今天决定推荐一波搜索资源网站.这些网站带给我开阔视眼增长知识.所以在这里整理一下,分享给朋友和博友们. 学习技术过程我们经常需要使 ...
- 浅谈jQuery中的Ajax
浅谈jQuery中的Ajax 一.前言 jQuery 对 Ajax 操作进行了封装, 在 jQuery 中最底层的方法时 $.ajax(), 第二层是 load(), $.get() 和 $.post ...
- Django + JQuery + ajax实时显示数据
1 创建django项目 :Visualization and APP :Demo >>django-admin startproject Visualization >>p ...
- 微信支付之扫码、APP、小程序支付接入详解
做电商平台的小伙伴都知道,支付服务是必不可少的一部分,今天我们开始就说说支付服务的接入及实现.目前在国内,几乎90%中小公司的支付系统都离不开微信支付和支付宝支付.那么大家要思考了,为什么微信支付和支 ...
- CodeForces-714B-Filya and Homework+思路
Filya and Homework 题意: 给定一串数字,任选一个数a,把若干个数加上a,把若干个数减去a,能否使得数列全部相同: 思路: 我开始就想找出平均数,以为只有和偶数的可以,结果wa在 1 ...
- HDU2874 Connections between cities 最近公共祖先
第一次按常规的方法求,将所有的查询的u,v,和最近公共祖先都保存起来,然后用tarjan+并查集求最近公共祖先.因为询问的次数过多,所以在保存查询的时候总是MLE,后来参考了一下别人的代码,才突然觉悟 ...
- 疯狂的bLue
疯狂的bLue Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 众所周知神秘的 ACM 实验 ...
- shell 菜单选择命令
devices=`adb devices | sed '1d;$d' | sed 's/device//g'` */sed '1d;$d' : 删除第一行和最后一行*/ device_ ...
- JavaScript数组和伪数组
伪数组和数组 记住一句话: 伪数组是一个Object,数组是Array. 对象和数组之间的关系 JavaScript的内置函数继承与 Object.prototype. 可以认为new Array() ...
- Docker下使用disconf:细说demo开发
Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...