SpringCloud集成consul Consul Consul 是一套开源的分布式服务发现和配置管理系统,由HashCorp公司用Go语言开发 它提供了几个关键功能: 服务发现:Consul client 可以提供服务,例如api或mysql,也可以使用Consul client来发现指定服务的提供者。 使用DNS或HTTP,应用程序可以轻松找到他们所依赖的服务。 健康检查:Consul client 可以提供任何数量的健康检查 2022-07-23 微服务 #分布式 #注册中心 #consul
springCloud之Eureka集群搭建 springCloud之Eureka集群搭建1. 搭建3个Eureka server 参考:springCloud之Eureka搭建 - 楼上有只喵 (pyr9.github.io) 三个eureka-server的application.yml文件如下: eureka-server 123456789server.port: 8761eureka.instance.hostname: loc 2022-07-22 微服务 #分布式 #eureka #集群
springCloud之集成zookeeper zookeeper zookeeper基本概念:zookeeper特性与节点介绍 - 楼上有只喵 (pyr9.github.io) zookeeper 是一个分布式协调服务,可以用来实现注册中心功能,类似eureka 服务节点是临时结点 springCloud之集成zookeeper准备工作启动zookeeper 1.引入依赖12345678910111213141516171819202122 2022-07-22 微服务 #分布式 #注册中心 #zookeeper
SpringCloud集成Ribbon 负载均衡(load balance) 简单来说负载均衡就是将客户的请求平摊到多个服务上,从而达到系统的高可用,常用的负载均衡方式有Nginx,F5 常见的负载均衡方式有两种: 服务端负载均衡 客户端负载均衡 服务端负载均衡工作原理服务端负载均衡是最常见的负载均衡方式,其工作原理如下图。 在客户端和服务端之间建立一个独立的负载均衡服务器,该服务器既可以是硬件设备(例如 F5),也可以是软件 2022-07-22 微服务 #分布式 #负载均衡 #Ribbon
springCloud之自动扩展 什么是自动扩展?自动扩展分为水平扩展和垂直扩展 水平扩展就是一台机子不够了,就再搞几台 垂直扩展是硬件层面的,比如双核不够了,就4核 自动扩展的意义 提高了高可用性和容错能力。比如某个服务不可用了,自动扩展可以再增加一个新服务来替换他。 增加了可伸缩性。允许访问流量可以自动选择水平扩展的规模。 具有最佳使用率,并节约成本。按需使用,需要几台就部署几台 优先考虑某些服务或服务组。低优先级服务中实 2022-07-20 微服务 #分布式 #自动扩展
springCloud之集成Hystrix 服务熔断什么是服务熔断? 服务熔断就是对服务的调用执行熔断,对于后续的请求,不再调用目标服务,而是直接返回一个合理的信息,比如说请求量太大,返回一个”此时服务过载”,从而可以快速释放资源 保护系统 为什么会有这种熔断机制的出现?在微服务相互调用的时候可能会出现服务调用发生异常或调用超时,多此请求造成服务积压导致服务无法使用后接着级联导致调用此服务的消费者也出现异常或调用超时,最后导致整个系统 2022-07-20 微服务 #分布式 #服务熔断
springCloud网关 1.网关是什么1.1 网关产生的原因? 在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。这种客户端直接请求服务的方式存在以下问题: 当服务数量众多时,客户端需要维护大量的服务地址,这对于客户端来说,是非常繁琐复杂的。 在某些场景下可能会存在跨域请求 2022-07-18 微服务 #分布式
springCloud之集成Feign Feign是什么? Feign是Netflix开发的一款声明式服务调用组件 Feign可以帮助我们更快捷、优雅地调用HTTP API。 Feign 是 Spring Cloud Netflix 模块的子模块,它是 Spring Cloud 对 Netflix Feign 的二次封装,主要负责 Spring Cloud 的服务调用功能。 SpringCloud 集成Feign 搭建Eureka C 2022-07-18 微服务 #分布式
springCloud之集成SpringCloud Config 集中化配置什么场景会用到配置 想到某一个地方去读取文件 Application.yml/ bootstrap.yml 环境变量: 比如启动参数 数据库存储(系统变量) 为什么要集中化配置? 微服务数量多,配置多 没有版本控制(尤其数据库的系统变量) 分布零散:有的配置在代码里,有的在yml配置文件,有的在数据库 基于静态的配置:每次修改都需要重新发布 手工管理配置繁琐 配置分类按照动 2022-07-18 微服务 #分布式 #集中化配置
springCloud之Eureka搭建 Eureka是什么? Eureka是 Netflix 公司开发的一款开源的服务注册与发现组件。 Spring Cloud 将 Eureka 与 Netflix 中的其他开源服务组件(例如 Ribbon、Feign 以及 Hystrix 等)一起整合进 Spring Cloud Netflix 模块中,整合后的组件全称为 Spring Cloud Netflix Eureka。 Eureka 是 S 2022-07-17 微服务 #微服务