eureka

Nacos(一):Nacos介绍

橙三吉。 提交于 2020-11-24 03:28:54
前言 6月份阿里开源的Nacos出了1.0.1版本,从去年7月份第一个release版本到现在一直在默默关注 官方的版本规划为:Nacos从0.8.0开始支持生产可用,1.0版本可大规模生产可用,2.0版本接入k8s、SpringCloud、ServiceMesh、ServerLess 公司目前的项目都是Springcloud,由于eureka2.X的断更、以及Nacos面世,所以自然而然最近就进行了一次试水爬坑,虽然过程艰苦,但是最终效果似乎还不错。 本文主要从以下几点来带大家熟悉下Nacos Nacos是什么 Nacos的发展历程 Nacos能做什么 Nacos无缝接入各大生态 Nacos是什么 Nacos是什么?好像没听过,不要紧。那Eureka听说过吧,在SpringCloud中做服务注册中心组件,类似的还有Zookeeper、Consul。 所以Nacos也是一个注册中心组件咯,当然是,不过 它不仅仅是注册中心 。 Nacos也是一个配置中心 ,比如SpringCloud中的Config,将配置文件版本化管理。 那么Nacos到底是什么呢, 总结为官网一句话就是: Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos的发展历程

阿里三面:CAP和BASE理论了解么?可以结合实际案例说下?

白昼怎懂夜的黑 提交于 2020-11-23 17:34:28
经历过技术面试的小伙伴想必对这个两个概念已经再熟悉不过了! CAP 理论 CAP 理论/定理起源于 2000 年,由加州大学伯克利分校的 Eric Brewer 教授在分布式计算原理研讨会(PODC)上提出,因此 CAP 定理又被称作 布鲁尔定理(Brewer’s theorem) 2 年后,麻省理工学院的 Seth Gilbert 和 Nancy Lynch 发表了布鲁尔猜想的证明,CAP 理论正式成为分布式领域的定理。 简介 CAP 也就是 Consistency(一致性) 、 Availability(可用性) 、 Partition Tolerance(分区容错性) 这三个单词首字母组合。 CAP 理论的提出者布鲁尔在提出 CAP 猜想的时候,并没有详细定义 Consistency 、 Availability 、 Partition Tolerance 三个单词的明确定义。 因此,对于 CAP 的民间解读有很多,一般比较被大家推荐的是下面 这种版本的解。 在理论计算机科学中,CAP 定理(CAP theorem)指出对于一个分布式系统来说,当设计读写操作时,只能能同时满足以下三点中的两个: 一致性(Consistence) : 所有节点访问同一份最新的数据副本 可用性(Availability) : 非故障的节点在合理的时间内返回合理的响应(不是错误或者超时的响应)。

Spring Cloud|03 Spring Cloud与Dubbo

时光总嘲笑我的痴心妄想 提交于 2020-11-23 08:52:51
几点说明 1、本系列Spring Cloud的博客参考了方志朋所著《深入理解Spring Cloud与微服务构建》; 2、大家如果想更加深入的理解Spring Cloud 建议多实战、多看书; Dubbo简介 介绍 Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力: 面向接口的远程方法调用:封装了长连接的NIO框架,例如:Netty、Mina等等; 智能容错和负载均衡; 服务自动注册和发现; 集成Apache的Zookeeper组件,用于用户的注册与发现; Dubbo框架的运行流程如下: 服务提供者注册进入服务注册中心; 服务消费者订阅服务; 服务消费者发现服务; 服务消费者通过远程调度来找到服务提供者进行服务的消费; 服务消费者和服务提供者定时发送心跳数据到服务监控中心用于记录调用次数和时间; Dubbo的优点: 连通性: 服务注册中心、服务提供者、服务消费者、服务监控中心都是长连接; 健壮性: 监控中心宕机不会影响其他的服务的正常进行,服务器集群配置的话,任意一个服务的宕机都不会影响整体的服务的运行状况; 伸缩性: 可以动态增减注册中心与服务的实例数量; 升级性: 服务器集群升级,不会对现有架构造成压力

Spring Cloud第三篇:服务消费者Feign

爱⌒轻易说出口 提交于 2020-11-23 08:36:05
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。 一、Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。 简而言之: Feign 采用的是基于接口的注解 Feign 整合了ribbon 二、准备工作 继续用上一节的工程, 启动eureka-server,端口为8761; 启动service-hi 两次,端口分别为8762 、8773. 三、创建一个feign的服务 新建一个spring-boot工程,取名为serice-feign,在它的pom文件引入Feign的起步依赖spring-cloud-starter-feign、Eureka的起步依赖spring-cloud-starter-eureka、Web的起步依赖spring-boot-starter-web,代码如下: <dependency> <groupId> org.springframework.cloud </groupId> <artifactId> spring-cloud

SpringBoot-SpringCloud

浪子不回头ぞ 提交于 2020-11-23 07:11:45
----------------------------------------------------------------------------- spring boot 1.我理解就是把 spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来, 提供默认的配置,然后提供可插拔的设计,就是各种 starter ,来方便开发者使用这一系列的技术。 2.以前需要关注版本兼容和一堆配置整合文件, 现在可以先不关心如何配置,可以快速的启动开发,进行业务逻辑编写, 各种需要的技术,加入 starter 就配置好了,直接使用,可以说追求开箱即用的效果吧。 3.对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了, 另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。 4.4.0版本是Spring框架最新发布的主版本,并且首次完全支持Java8的功能。你依然可以使用较早的Java版本,但是现在所需的最小的版本已经被提升的Java SE6。 同时还利用主版本发布的机会删除了很多废弃的类和方法。 5.Spring 是一个“引擎”; Spring MVC 是基于Spring的一个 MVC 框架; Spring Boot

Spring Cloud 2.x系列之服务发现&服务消费者Feign

谁都会走 提交于 2020-11-23 06:03:20
视频路其实一直都在那里,只是我们看不到而已! spring cloud 的 Netflix 中提供了两个组件实现软负载均衡调用,分别是 Ribbon 和 Feign 。上一篇和大家一起学习了 Ribbon 。 Ribbon : Spring CloudRibbon 是基于 HTTP 和 TCP 的客户端负载工具,它是基于 Netflix Ribbon 实现的 , 它可以在客户端配置 ribbonServerList (服务端列表),然后轮询请求以实现均衡负载。 Feign : spring cloudfeign 是一个使用起来更加方便的 HTTP 客戶端。 在使用 ribbon 时,通常会使用 RestTemplate 实现对 http 请求的封装,形成了模板化的调用方法。 springcloud feign 在此基础上做了进一步的封装, Feign 是一种声明式、模板化的 HTTP 客户端。在 Spring Cloud 中使用 Feign, 可以做到使用 HTTP 请求远程服务时能与调用本地方法一样的编码体验,完全感知不到这是远程方法,更感知不到这是个 HTTP 请求。 1、 新建项目 sc-eureka-client-consumer-feign ,对应的 pom.xml 文件如下 < project xmlns = "http://maven.apache.org/POM/4

Spring Cloud 2.x系列之服务发现&服务消费者Ribbon

折月煮酒 提交于 2020-11-23 06:03:07
Spring常用注解 视频路其实一直都在那里,只是我们看不到而已! 在《服务注册 & 服务提供者》这一篇可能学习了这么开发一个服务提供者,在生成上服务提供者通常是部署在内网上,即是服务提供者所在的服务器是与互联网完全隔离的。这篇说下服务发现(服务消费者),通常服务消费者是部署在与互联网联通的服务器上,提供 restful 接口给 H5 和 App 调用。 服务消费者: ServiceConsumer 本质上也是一个 Eureka Client 。它启动后会从 Eureka Server 上获取所有实例的注册信息,包括 IP 地址、端口等,并缓存到本地。这些信息默认 每 30 秒 更新一次。如果与 Eureka Server 通信中断或者 EurekaServer 宕机, Service Consumer 仍然可以通过本地缓存与 Service Provider 通信。 1、 新建项目 sc-eureka-client-consumer-ribbon ,对用的 pom.xml 文件 < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache

Spring Cloud 2.x系列之服务注册&服务提供者

瘦欲@ 提交于 2020-11-23 05:37:36
阅读 好文章,请随手 点击上面,关注我们,免费订阅 最近龙哥很火,滴滴也很火;只能为花季少女感到可惜,为反杀龙哥的小伙祈祷;希望国家管管这些有钱人,让我们这些良民能有两口饭吃。我们两耳不闻窗外事,低头继续学习spring cloud。 1、 什么是服务提供者 服务提供者( ServiceProvider ):是指服务的被调用方(即:为其它服务提供服务的服务) ;服务提供者,作为一个 Eureka Client ,向 EurekaServer 做 服务注册、续约和下线 等操作,注册的主要数据包括服务名、机器 ip 、端口号、域名等等。 从图中可以到 Eureka 有两种服务实例 ,分别为 Eureka Server 和 EurekaClient ;而且 Eureka Client 又分为两种类型: Service Provider (服务提供者)和 ServiceConsumer (服务消费者) ,如果学过 dubbo 发现这个图跟 dubbo 的调用关系图比较类似。 2、 新建 meven 项目 < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven

spring cloud (三、服务提供者demo_provider)

白昼怎懂夜的黑 提交于 2020-11-23 05:26:23
spring cloud (一、服务注册demo_eureka) spring cloud (二、服务注册安全demo_eureka) 创建一个服务提供者注册到服务注册中心,跟前一个案例一样创建一个spring boot 项目 ; 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: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.test.provider</groupId> <artifactId>provider</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>provider</name> <description>provider</description>

也谈SpringCloud:假如 《复仇者联盟4》是一个微服务

断了今生、忘了曾经 提交于 2020-11-22 00:23:25
前言 《复仇者联盟4》(下文《妇联4》) 将于4月24号上映了,漫威迷们是不是迫不及待了。我虽然不是漫威迷,没有看过相关漫画,但是电影确实一步都不落。不过我在想一个问题:假如《妇联4》是一个微服务,那么电影院就是一个应用。在这个微服务如此火爆的前提下,影院如何做好管理呢?以上是背景。 影院开张 老王开了一家影院,刚开始影院规模很小,只有一个售票员小李。老王将《妇联4》即将上映的广告打出去之后,来咨询的人络绎不绝。这下小李不干了:老板,这么多人咨询已经打乱了我的正常工作了,影院这么多电影我哪记得住他们什么时候上映啊。老王犯了愁。小李说:老板,我给你引荐一个人吧,他们公司专门做这个业务的。他叫 Eureka 。 服务注册和发现-电影的上映和下架 Eureka 来了之后首先在影院装了一个大显示屏幕。老板告诉 Eureka :我们要准备上映《妇联4》了。于是 Eureka 便把《妇联4》上线了。显示屏幕展示着最近上线的电影。这样来电影院看电影的观众们就不用在咨询售票员了。显示屏幕如下: 客户端负载均衡-观众去哪个厅观看电影? 小李开开心心的工作者,突然 8001 厅的扫地大妈不乐意了。:小李你咋回事啊,怎么我这个厅的人这么多,8002厅的人那么少,是要累死我啊。老板见了:哎呀,赵大妈您别着急,您看我这不是帮你招了个人吗,以后保证刘大妈的工作量和您保持一致。:赵大妈您好,我是 Ribbon