eureka

SpringCloud学习系列之二 ----- 服务消费者(Feign)和负载均衡(Ribbon)

匆匆过客 提交于 2020-04-06 11:36:06
前言 本篇主要介绍的是SpringCloud中的服务消费者(Feign)和负载均衡(Ribbon)功能的实现以及使用Feign结合Ribbon实现负载均衡。 SpringCloud Feign Feign 介绍 Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。它具备可插拔的注解支持,包括Feign注解和JAX-RS注解。Feign也支持可插拔的编码器和×××。Spring Cloud为Feign增加了对Spring MVC注解的支持,还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。 开发准备 开发环境 JDK :1.8 SpringBoot :2.1.1.RELEASE SpringCloud :Finchley 注:不一定非要用上述的版本,可以根据情况进行相应的调整。需要注意的是SpringBoot2.x以后,jdk的版本必须是1.8以上! 确认了开发环境之后,我们再来添加相关的pom依赖。 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter</artifactId> <

SpringCloud学习系列之三----- 断路器Hystrix和断路器监控Dashboar

ぃ、小莉子 提交于 2020-04-06 11:02:23
前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识。 SpringCloud Hystrix Hystrix 介绍 Netflix创建了一个名为Hystrix的库,它实现了断路器模式。主要的目的是为了解决服务雪崩效应的一个组件,是保护服务高可用的最后一道防线。 开发准备 开发环境 JDK :1.8 SpringBoot :2.1.1.RELEASE SpringCloud :Finchley 注:不一定非要用上述的版本,可以根据情况进行相应的调整。需要注意的是SpringBoot2.x以后,jdk的版本必须是1.8以上! 确认了开发环境之后,我们再来添加相关的pom依赖。 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <

SpringCloud学习系列之四-----配置中心(Config)使用详解

旧城冷巷雨未停 提交于 2020-04-06 10:31:58
前言 本篇主要介绍的是SpringCloud中的分布式配置中心(SpringCloud Config)的相关使用教程。 SpringCloud Config Config 介绍 Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。 开发准备 开发环境 JDK :1.8 SpringBoot :2.1.1.RELEASE SpringCloud :Finchley 注:不一定非要用上述的版本,可以根据情况进行相应的调整。需要注意的是SpringBoot2.x以后,jdk的版本必须是1.8以上! 确认了开发环境之后,我们再来添加相关的pom依赖。 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter

F版本SpringCloud 4—Eureka注册中心开发和客户端开发

▼魔方 西西 提交于 2020-04-06 01:04:58
源码地址: https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 通过前三篇文章,用大白话介绍了微服务和SpringCloud以及服务治理相关的概念,从这篇开始SpringCloud代码的开发。 SpringCloud 项目环境搭建 SpringCloud所有的demo都会采用 多模块开发 的方式 ,通过父项目约束整个项目所有Module的版本,如果你不知道什么是 多模块开发,请阅读我的文章:SpringBoot 多模块开发 https://mp.weixin.qq.com/s/CDWnG0wr6hk6TvDYIELIaQ 创建父项目「约束版本」 父项目最大的作用就是约束版本,所有的步骤请严格按照教程进行,会有全面的截图 1.在IDEA中创建一个maven项目(project) 2.修改pom文件 SpringCloud版本选择:Finchley.SR2,SpringBoot版本选择:2.0.3.RELEASE pom文件如下: <?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

8、SpringCloud第八章,升级篇,服务注册与发现Eureka、Zookeeper和Consule

爱⌒轻易说出口 提交于 2020-04-05 19:05:26
SpringCloud第七章,升级篇,服务注册与发现Eureka、Zookeeper和Consule 一、基础概念 1、服务治理 传统的远程RPC远程调用框架中,管理每个服务与服务之间的依赖关系比较复杂。所以需要使用服务治理,用于管理服务与服 务之间的依赖关系,可以实现服务调用、负载均衡、容错等。实现服务的注册与发现。 Eureka模块就是用来实现服务治理的 2、服务注册与发现 Eureka采用了CS的设计架构, Eureka Server作为服务注册功能的服务器,他是服务注册中心。而系统中的其他服务,使用Eureka的客户端连接到 Eureka Server,并维持心跳链接。这样系统的维护人员就可以通过Eureka Server来监控系统中各个微服务是否正常 运行。 在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息比如服务通讯地址以别名的方式 注册到注册中心上。另一方,服务消费者以该别名的方式去注册中心上获取实际的服务通讯地址,然后再实现本地RPC调用。 RPC远程调用框架的设计思想在于:注册中心。因为使用注册中心管理每个服务与服务之间的依赖关系。 在任何RPC远程调用框架中,都会有一个注册中心(存放服务地址相关信息)。 二、Eureka Eureka包含两个组件 Eureka Server和Eureka Client,Eureka Server

SpringCloud(五)Eureka配置

十年热恋 提交于 2020-04-05 18:16:51
Eureka Client 配置项(eureka.client.*) org.springframework.cloud.netflix.eureka.EurekaClientConfigBean eureka.client.enabled 用于指示Eureka客户端已启用的标志 true eureka.client.registry-fetch-interval-seconds 指示从eureka服务器获取注册表信息的频率(s) 30 eureka.client.instance-info-replication-interval-seconds 更新实例信息的变化到Eureka服务端的间隔时间,(s) 30 eureka.client.initial-instance-info-replication-interval-seconds 初始化实例信息到Eureka服务端的间隔时间,(s) 40 eureka.client.eureka-service-url-poll-interval-seconds 询问Eureka Server信息变化的时间间隔(s),默认为300秒 300 eureka.client.eureka-server-read-timeout-seconds 读取Eureka Server 超时时间(s),默认8秒 8 eureka.client.eureka

SpringCloud之负载均衡

孤人 提交于 2020-04-05 18:05:35
1.Ribbon 1.1负载均衡LB 全称Load Balance,将用户的请求平摊到多个服务器上,从而达到系统的HA。 集中式LB:在服务消费者和服务提供者之间使用独立的LB设施,如硬件,由该设施负责把访问请求通过某种策略转发至服务提供方。 进程内LB:将LB逻辑继承到服务消费者,消费者从服务注册中心获知有哪些地址可用,然后从这些地址中选择一个合适的来使用。Ribbon属于进程内LB。 1.2Ribbon定义 基于NetFlix Ribbon实现的一套客户端负载均衡的工具。 1.3与Eureka结合基本使用 源代码: 1)创建TestTemplate模块以及Eureka服务器集群。具体步骤可参考 https://www.cnblogs.com/zys2019/p/12636241.html#_label0 。可直接下载代码,在此代码基础上修改。 2)在cloud-consumer80中添加ribbon和eureka依赖   <!--eureka-client--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!--ribbon-->

F版本SpringCloud 5—Eureka集群和自我保护机制

谁说胖子不能爱 提交于 2020-04-05 17:43:21
源码地址: https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 上篇文章中,通过代码搭建了Eureka注册中心和客户端,是Eureka的简单应用,在本文中将会讲解更多关于Eureka服务端的应用以及原理。 Eureka 自我保护机制 进入自我保护机制的标志【重点】 在使用Eureka的过程中,有时候会在Eureka服务端的页面上看到如下的内容: 在监控页面上会看到一行红字儿,这些红字儿什么意思呢?代表着Eureka注册中心进入了自我保护机制。 什么是自我保护机制【重点】 默认情况下,如果Eureka Server在一定时间内没有接受到服务实例的心跳,Eureka将会注销该实例(默认90秒).但是当网络分区发生故障时,微服务客户端和Eureka Server 无法正常通信。以上行为可能变得特别危险了,因为微服务本身是健康的,此时不能注销该服务实例。 Eureka通过自我保护机制来解决这个问题,当Eureka Server在短时间丢失过多的服务实例(可能发生了网络分区的故障),那么Eureka Server进入自我保护模式,一旦进入此模式,Eureka Server将会保护服务注册表中的信息,不再删除服务注册表中的数据(也就是不再注销任何的服务实例),当网络故障恢复后,Eureka Server会自动退出自我保护模式。 综上,

SpringCloud使用

妖精的绣舞 提交于 2020-04-05 17:28:39
9、完整步骤 9.0、SQL CREATE DATABASE /*!32312 IF NOT EXISTS*/`clouddb01` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; USE `clouddb01`; /*Table structure for table `dept` */ DROP TABLE IF EXISTS `dept`; CREATE TABLE `dept` ( `deptno` int(11) NOT NULL, `dname` varchar(50) DEFAULT NULL, `db_source` varchar(50) DEFAULT NULL, PRIMARY KEY (`deptno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*Data for the table `dept` */ insert into `dept`(`deptno`,`dname`,`db_source`) values (10,'人力部','db01'),(20,'技术部','db01'),(30,'财务','db01'); 9.1、父工程POM <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/

springcloud eureka 访问加上密码

喜你入骨 提交于 2020-04-05 15:15:04
1. pom.xml 加入依赖 <!-- 加入密码认证 --> < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-security </ artifactId > </ dependency > 2. application.properties 配置如下 用户名和密码 #开启安全认证 用户名和密码 spring.security.basic.enabled = true spring.security.user.name =admin spring.security.user.password =root 3. 加入配置类 WebSecurityConfig.java package org.fh.config; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security