eureka

Hystrix的使用4-和OpenFeign结合使用

落花浮王杯 提交于 2020-08-12 05:19:19
Hystrix的使用4-和OpenFeign结合使用 1.简介 OpenFeign中已经集成了Hystrix,不用再引入Hystrix依赖。 2.代码实现 2.1 父工程POM文件 <packaging>pom</packaging> <modules> <!-- 公共工程,请看我的github --> <module>cloud-api-commons</module> <!-- Eureka注册中心 --> <module>cloud-eureka-server7001</module> <!-- 服务提供者 --> <module>cloud-provider-payment-hystrix8001</module> <!-- 服务消费者 --> <module>cloud-consumer-order-hystrix80</module> </modules> <!-- 统一管理jar包版本 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit

我的奇葩面试经历:HR竟然主动提价,比预期高5K,我一脸懵逼...

邮差的信 提交于 2020-08-12 03:07:41
# 写在前面 本文是楼主前两个月 N 家公司的面试经历,总结复盘了面试现场,个人认为干货还是不少,在此和大家分享。 ps:至于标题所说的薪资,是面试过程中一个有意思的小插曲,但是确有其事,不是标题党。。。这里先卖个关子,请各位看官往后看!^_^ # 自报家门 先做个自我介绍,楼主坐标帝都,5年经验,跳槽之前在一家传统小公司,年薪21万。 这次面试前前后后大概两个月的时间,面试了大概 6 家公司,命中 4 家,最终去了一家估值 70 亿美金的生鲜电商独角兽,年薪42万,刚好翻倍。 # 面试过程 话不多说,直接进入面试现场! 1、好未来 开始面试第一天上午投递好未来,下午3点面试,一共面试了3轮,问的问题比较多。 第一轮 面试官看了我的简历,首先让我画出eureka的执行流程,这块在之前的准备过程中有深入看过,因此比较流畅的画出来并配合解释说明。 之后问到项目中使用分布式锁解决缓存重建并发的问题,并要求画出实际的执行流程,数据库也问的比较多,像事务的隔离级别,MySQL实现可重复读的原理,索引等。 面试官给出了一个场景,在数据库主从同步的情况下,如果从库同步主库的数据延迟比较高,怎么才能在写到主库后立刻能够读取到数据。 我解释了主从同步的原理,并以此说明主库到从库的复制一定是有延迟的,因此要保证当写到主库的时候立刻能读到数据,要么就直接配置那个接口读数据的话直接走主库

SpringCloud系列之使用Feign进行服务调用

浪子不回头ぞ 提交于 2020-08-12 00:51:12
在 上一章 的学习中,我们知道了微服务的基本概念,知道怎么基于Ribbon+restTemplate的方式实现服务调用,接着上篇博客,我们学习怎么基于Feign实现服务调用,请先学习上篇博客,然后再学习本篇博客 Feign是一个声明式的web service客户端,它使得编写web service客户端更为容易。创建接口,为接口添加注解,即可使用Feign。Feign可以使用Feign注解或者JAX-RS注解,还支持热插拔的编码器和解码器。 环境准备: JDK 1.8 SpringBoot2.2.1 SpringCloud(Hoxton.SR6) Maven 3.2+ 开发工具 IntelliJ IDEA smartGit 创建一个SpringBoot Initialize项目,详情可以参考我之前博客: SpringBoot系列之快速创建项目教程 port: 8083 spring: application: name: feign-service-consumer eureka: client: service-url: defaultZone: http://localhost:8761/eureka/ healthcheck: enabled: false instance: status-page-url-path: http://localhost:8761

Spring Cloud微服务架构实战之Consul注册中心01

不问归期 提交于 2020-08-11 23:40:59
Netflix Eureka 2.X 官方宣告停止开发,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,并且官方也在积极维护 1.X。 The existing open source work on eureka 2.0 is discontinued. The code base and artifacts that were released as part of the existing repository of work on the 2.x branch is considered use at your own risk. Eureka 1.x is a core part of Netflix's service discovery system and is still an active project. 翻译: 有关 eureka 2.0 的现有开源工作已停止。在 2.x 分支上作为现有工作资料库的一部分发布的代码库和工件被视为使用后果自负。 Eureka 1.x 是 Netflix 服务发现系统的核心部分,仍然是一个活跃的项目。 虽然 Eureka,Hystrix 等不再继续开发或维护,但是目前来说不影响使用,不管怎么说感谢开源,向 Netflix 公司的开源致敬。 另一方面 Spring Cloud 支持很多服务发现的软件

springboot1.5.9升级springboot2.0.5

大兔子大兔子 提交于 2020-08-11 22:17:16
占坑 springboot1.5.9升级springboot2.0.5 此升级只适应于参考(本公司暂时正常运行) 原文链接 官网翻译 spring-cloud 组件 springboot 版本 <version>2.0.5.RELEASE</version> springcloud 版本 <version>Finchley.RELEASE</version> eureka-server 替换 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> eureka-client 替换 2.0.X guava scope 为runtime 项目引用不到 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava<

架构师入门:搭建双注册中心的高可用Eureka架构(基于项目实战)

家住魔仙堡 提交于 2020-08-11 19:33:28
本文的案例是基于 架构师入门:搭建基本的Eureka架构(从项目里抽取 ) 改写的。 在上文里,我们演示Eureka客户端调用服务的整个流程,在这部分里我们将在架构上有所改进。大家可以想象下,在上文里案例中,Eureka注册中心只部署在一台机器上,这样它一旦出现问题,会导致整个服务调用系统的崩溃,如果这种情况发生在生产环境上,后果是不堪设想的。 大家别以为这是危言耸听,在高并发的场景下(比如双十一的并发环境),这种情况发生的可能性不低。针对这种场景,这里我们将部署两台Eureka注册中心,彼此相互注册,以此搭建一个可用性比较高的Eureka集群。 1 集群的示意图 在这个集群里,我们将配置2台相互注册的Eureka服务器,这样一来,每台服务器都包含着对方的服务注册信息,相当于双机热备,同时,服务提供者只需向其中的一个注册服务。 这样,如果服务器A或B宕机,那么另一台服务器依然可以向外部提供服务列表,服务调用者依然可以据此调用服务。 在并发要求更高的环境里,我们甚至可以搭建2台以上的服务器,不过事实上,双机热备的集群能满足大多数的场景,一方面,不是每个系统的并发量都很高,所以双机热备足以满足大多数的并发需求,另一方面,毕竟两台服务器同时宕机的可能性也不大。 2编写相互注册的服务器端代码 这里为了演示方便,我们在一台机器上模拟双服务器的场景,在真实项目里

脱离Eureka使用Ribbon

岁酱吖の 提交于 2020-08-11 18:56:14
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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting

微服务技术栈:常见注册中心组件,对比分析

瘦欲@ 提交于 2020-08-11 18:35:08
本文源码: GitHub·点这里 || GitEE·点这里 一、注册中心简介 1、基础概念 在分布式架构的系统中注册中心这个概念就已经被提出了,最经典的就是Zookeeper中间件。 微服务架构中,注册中心是最核心的基础服务之一,注册中心可以看做是微服务架构中的通信中心,当一个服务去请求另一个服务时,通过注册中心可以获取该服务的状态,地址等核心信息。 服务注册主要关系到三大角色:服务提供者、服务消费者、注册中心。 2、流程和原理 基础流程 服务启动时,将自身的网络地址等信息注册到注册中心,注册中心记录服务注册数据。 服务消费者从注册中心获取服务提供者的地址,并通过地址和基于特定的方式调用服务提供者的接口。 各个服务与注册中心使用一定机制通信。如果注册中心与服务长时间无法通信,就会注销该实例,这也称为服务下线,当服务重新连接之后,会基于一定的策略在线上线。 服务地址相关信息发生变化时,会重新注册到注册中心。这样,服务消费者就无需手工维护提供者的相关配置。 核心功能 通过上面的基本流程,不难发现一个注册中心需要具备哪些核心功能: 服务发现 服务发现是指服务在启动后,注册到注册中心,服务方提供自身的元数据,比如IP地址、端口、运行状况指标的Uri 、主页地址等信息。 服务记录 记录注册中心的服务的信息,例如服务名称、IP地址、端口等。服务消费方基于查询获取可用的服务实例列表。

面试官必问面试题汇总

ε祈祈猫儿з 提交于 2020-08-11 14:45:18
面试题一 一、描述下数据库中的事务–ACID各个的特点。 原子性:事务中的操作要么全部成功要么全部失败。 一致性:事务前后数据的完整性必须保持一致。 隔离性:多个并发的事务之间是相互隔离的,互不干扰的。 持久性:事务提交后,数据是永久改变的。 二、什么是springboot?你们公司是用的哪个版本? SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务。 版本号:2.1.6 三、什么是redis? Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 四、如何理解springcloud微服务项目中,eureka,provider,consumer它们之间的关系? eureka:提供服务注册于发现 provider:服务提供方法将自身注册到eureka,让消费方找到 consumer:服务消费方从eureka获取注册服务列表,能够消费服务 五、mysql默认的存储引擎是什么? Mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB。 MyISAM不支持事务,InnoDB支持事务。 MySIAM不支持外键,InnoDB支持外键, MySIAM支持全文索引,InnoDB不支持全文索引。 六、什么是跨域? 要了解跨域,先要说说同源策略。所谓同源是指

SpringBoot + Spring Cloud Eureka 服务注册与发现

家住魔仙堡 提交于 2020-08-11 09:59:31
什么是Spring Cloud Eureka Eureka是Netflix公司开发的开源服务注册发现组件,服务发现可以说是微服务开发的核心功能了,微服务部署后一定要有服务注册和发现的能力,Eureka就是担任这个角色。如果你用过Dubbo的话,Dubbo里服务注册和发现就是通过Zookeeper框架完成的。 Eureka 目前是2.2.x版本,目前官方已经宣布不再维护和更新了,不过Eureka 做注册中心已经在生产环境中大规模使用了,可以说很稳定了。从我个人的角度看,目前大家使用的更多的是阿里的 Nacos 和 Consul 这两个组件实现了不止服务发现和注册,微服务开发不用再去依赖更多的组件和框架。这篇文章模拟一下Eureka Server集群和服务提供者集群和服务消费。 版本说明 SpringCloud + SpringBoot开发微服务并不是版本越新越好,Spring Cloud官方提供了一个版本对应关系。目前最新的就是Hoxton, 对应SpringBoot 2.2.x版本。 准备工作 新建父工程, 主要约定SpringCloud, SpringBoot版本号,我使用的是Hoxton.SR1, SpringBoot2.2。 新建5个子Module,这里两个Eureka Server,两个Service,一个consumer, 两个Eureka