eureka服务发现

springboot和springcloud

≡放荡痞女 提交于 2020-02-13 00:43:55
springboot和springcloud 1.springboot如何配置事务 这里采用注解的方式,因为是springboot的推荐的 第一步:导入一个springMybatis的包 第二步;在你的配置类上面打上注解@EnableTransactionManagement 第三步:在需要事务的类上面,比如service层上打上注解@Transactional 当然也可以采用xml的配置 配置方法与springmvc一样,然后在配置类上打上标签importResource就可以将xml交给springboot管理了 application.properties是可以自动导入springboot 如果你有个文件叫jdbc.properties,在配置类上打上propertiesSources(classes:“你的properties”)就可以导入properties配置文件了 2.单体应用和微服务的区别 单体应用:就是一个独立的应用,所有的模块、业务、资源等,都在一个项目中,最终项目都会被打包成一个war包或者一个jar包,使用一个tomcat(容器)去部署 多模块是单体应用吗:多模块也是单体应用,这里指的是传统的多模块 单体应用的缺点:1.扩展能力受限,不方便局部扩展 2.复杂性高,项目大,代码臃肿 3.不方便开发,不方便升级 4.模块、业务耦合度高 5.一旦一个模块出问题

Spring-cloud之Eureka服务搭建、集群

人走茶凉 提交于 2020-02-11 00:05:26
eureka是什么? eureka是Netfix的子模块之一也是核心模块,eureka有2个组件,一个eurekaServer(独立的一个微服务),这个服务主要是用来定位服务以实现中间层服务器的负载平衡和故障转移。另外一个是是eurekaClient(我们自己的微服务),是用来与server进行交互的,使服务之间的交互变的非常简单,只需要通过服务标识符即可在server中拿到想要的微服务。 角色关系图: 如何使用? 在spring-cloud项目里面加入依赖: eureka客户端(需要注册的服务pom中添加):   <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency> eureka服务端(eureka独立服务pom中添加): <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency> eureka服务端项目里面加入以下配置: server:  

springcloud 基于Finchley.SR2版本 Eureka 配置

独自空忆成欢 提交于 2020-02-10 16:34:35
Eureka概念及原理:提供注册和发现的服务 eureka server和eureka client 原理:客户端每隔30秒发送服务名称和地址给注册中心,并下载注册中心的服务清单。 Eureka配置 1.创建单独模块eureka server 添加eureka server依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> 2.在启动类增加@EnableEurekaServer 3.配置application.yml文件 4.直接启动就可以了,eureka server配置完成了。 5.创建单独模块 eureka client,添加eureka client依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> 6.配置client中application.yml 文件 7.启动eureka server和eureka

第一轮面试题汇总

China☆狼群 提交于 2020-02-10 11:07:17
1.描述下数据库中的事务--ACID各个的特点 原子性(Atomicity):事务中的操作要么全部成功要么全部失败。 一致性(Consistency):事务前后数据的完整性必须保持一致。 隔离性(Isolation):多个并发的事务之间是相互隔离的,互不干扰的。 持久性(Durability):事务提交后,数据是永久改变的。 2.什么是springboot?你们公司是用的哪个版本? SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务。 Spring boot 的优点 轻松创建独立的Spring应用程序 内联Tomcat、jetty等web容器,不需要部署WAR文件。 提供一系列的“starter”来简化的Maven配置 开箱即用,尽可能自动配置Spring 版本号:2.1.6 3.什么是redis? Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis优势 性能极高-Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型-Redis支持二进制案列的String,Lists,Hashes,Sets及Ordered Sets 数据类型操作。 原子—Redis的所有操作都是原子性(不可再分)的,意思就是要么成功执行要么失败不执行

Spring Cloud (一) Eureka比Zookeeper好在哪里

∥☆過路亽.° 提交于 2020-02-08 07:48:51
作为服务注册中心,Eureka比Zookeeper好在哪里 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性P在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。 因此 Zookeeper保证的是CP, Eureka则是AP。 1 Zookeeper保证CP 当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接down掉不可用。也就是说,服务注册功能对可用性的要求要高于一致性。但是zk会出现这样一种情况,当master节点因为网络故障与其他节点失去联系时,剩余节点会重新进行leader选举。问题在于,选举leader的时间太长,30 ~ 120s, 且选举期间整个zk集群都是不可用的,这就导致在选举期间注册服务瘫痪。在云部署的环境下,因网络问题使得zk集群失去master节点是较大概率会发生的事,虽然服务能够最终恢复,但是漫长的选举时间导致的注册长期不可用是不能容忍的。 2 Eureka保证AP Eureka看明白了这一点,因此在设计时就优先保证可用性。Eureka各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。而Eureka的客户端在向某个Eureka注册或时如果发现连接失败,则会自动切换至其它节点

springcloud(十六):服务网关 Spring Cloud GateWay 服务化和过滤器

狂风中的少年 提交于 2020-02-05 19:00:20
上一篇文章 服务网关 Spring Cloud GateWay 初级篇 ,介绍了 Spring Cloud Gateway 的相关术语、技术原理,以及如何快速使用 Spring Cloud Gateway。这篇文章我们继续学习 Spring Cloud Gateway 的高级使用方式,比如如何配置服务中心来使用,如何使用熔断、限流等高级功能。 注册中心 上篇主要讲解了网关代理单个服务的使用语法,在实际的工作中,服务的相互调用都是依赖于服务中心提供的入口来使用,服务中心往往注册了很多服务,如果每个服务都需要单独配置的话,这将是一份很枯燥的工作。Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spring Cloud Gateway 注册到服务中心,Spring Cloud Gateway 默认就会代理服务中心的所有服务,下面用代码演示。 准备服务和注册中心 在介绍 服务网关 zuul 的使用 时,提供了 spring-cloud-eureka 、spring-cloud-producer 项目示例,本次演示我们将两个项目版本升级到 Finchley.SR2 后继续演示使用。 spring-cloud-eureka(Eureka Server) 的 pom 文件更改,其它依赖包不变。 升级前: <dependency> <groupId>org

springcloud学习笔记——eureka

时光毁灭记忆、已成空白 提交于 2020-02-04 12:46:09
Eureka简介 1、Eureka实现了微服务的服务治理功能,Spring Cloud Eureka提供了 Eureka Server服务端和Eureka Client客户端,服务端即是Eureka服务注册中心(相当于dubbo架构中zookeeper的功能)。标识了Eureka Client客户端的服务,可以向Eureka Server服务端注册服务和发现服务。 2、Eureka Client客户端具备一个内置的使用轮询负载算法的负载均衡器,在微服务启动之后,将会向Eureka Server发送心跳(默认周期为30秒),如果Eureka Server在多个心跳周期内没有收到某个节点的心跳,则会将服务从服务列表中移除(默认是90秒,即3个周期)。 3、Eureka中Eureka Server与Eureka Client的关系如下: 1)、eureka server是服务端,负责管理各个微服务的注册和发现 2)、微服务的生产方eureka client可以将服务注册到eureka server中 3)、微服务的消费方eureka client需要从eureka server中获取需要调用服务的地址,进行远程调用 Eureka的自我保护机制 1、当Eureka Server 在一定时间内(默认90秒)没有接收到某个微服务的心跳,Eureka Server会从服务列表将此服务实例注销

Eureka注册中心

点点圈 提交于 2020-02-04 09:12:06
Eureka做什么? Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。 同时,服务提供方与Eureka之间通过`“心跳”`机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。 这就实现了服务的自动注册、发现、状态监控。 - Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址 - 提供者:启动后向Eureka注册自己信息(地址,提供什么服务) - 消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新 - 心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态 1.创建eureka-server工程 添加依赖 启动类 注意添加@EnableEurekaServer 配置 端口号 +微服务名称+默认注册链接 自己注册自己(防止报错) 2.服务提供方 添加依赖 添加注解 注意@EnableDiscoveryClient 可以兼容不同注册中心 配置 3.服务消费方 依赖 注解 配置 注入DiscoveryClient,根据服务id获取实例,从实例中获取ip与端口 高可用Eureka 复制配置 修改配置 修改服务提供者配置 添加配置 不注册自己

SpringCloud之Eureka

荒凉一梦 提交于 2020-02-04 01:51:55
Eureka是什么 Spring Cloud Eureka是Spring Cloud Netflix微服务套件的一部分,它是基于Netflix Eureka的二次封装,主要负责完成微服务中各个的服务注册与发现。假设我们有两个服务A和B,其中A服务需要调用到B服务来完成某个业务操作,如果没有注册中心,我们可能会将B服务的地址和接口API以配置文件的形式注入到应用中,但随着业务的增长,单个的服务B可能没法抗住压力,需要进行扩容和高可用,这时就需要频繁的去调整服务A代码中关于B服务的配置,这是很笨的。 我们假设这样一种场景:我们有多个服务B的实例,有一个特殊的服务C可以帮我们列出B服务的所有实例,并给这些服务起一个服务名,我们在A服务中通过这个服务名调用服务B的某个实例。这样若是服务B的实例发生变化,服务A并不需要编码或配置上的修改,Eureka在微服务架构中也恰恰起到了这个作用。 Spring Cloud、Spring Boot的版本问题 根据前面我们举得服务A、服务B以及管理服务B的特殊服务C,我们可以发现Eureka是分为两部分的,第一部分是承担维护服列表的服务C,我们称之为Eureka服务端,第二部分是服务A、服务B之类了的普通服务,我们称之为Eureka客户端。Eureka客户端会被注册到Eureka服务端,被其他服务进行调用

Spring cloud中Eureka的使用简单示例(Spring cloud学习笔记 4)

杀马特。学长 韩版系。学妹 提交于 2020-01-31 02:40:30
一、Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Spring Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring Cloud的服务发现功能。 二、Eureka原理 下图就是Eureka官方的架构图,大致描述了Eureka集群的工作过程。 Application Service: 也就是服务提供者(相当于我之前文章中的用户微服务) Application Client: 也就是服务消费者(相当于我之前文章中的车票微服务) Make Remote Call: 可以简单理解为调用RESTful的接口 Eureka包含两个组件:Eureka Server 和 Eureka Client。 Eureka Server: 提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。 Eureka Client: 是一个Java客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。 在应用启动后