OpenFeign服务接口调用😐😐
OpenFeign 服务接口调用 😐😐1、OpenFeign 简介1-1、OpenFeign 是什么Feign 是一个声明式 WebService 客户端,使用 Feign 能让编写 Web Service 客户端更加简单。
它的使用方法是定义一个服务接口然后在上面添加注解,Feign 也支持可拔插式的编码器和解码器,Spring Cloud 对 Feign 进行了封装,使其支持了 Spring MVC 标准注解和 HttpMessageConverters,Feign 可以与 Eureka 和 Ribbon 组合使用以支持负载均衡。
GitHub:https://github.com/spring-cloud/spring-cloud-openfeign
官网解释:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeign
1-2、能干嘛Feign 旨在使编写 Java Http 客户端变得更容易,前面在使用 Ribbon+RestTempl ...
Ribbon负载均衡服务调用😐😐
Ribbon负载均衡服务调用😐😐1、Ribbon简介1-1、是什么Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。
2-2、官网资料https://github.com/Netflix/ribbon/wiki/Getting-Started
Ribbon目前也进入维护模式 https://github.com/Netflix/ribbon
未来替换方案
1-3、能干吗LB负载均衡(Load Balance)是什么?
简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用),常见的负载均衡有软件Nginx,LVS,硬件 F5等
...
三个注册中心异同点⭐⭐⭐
三个注册中心异同点 ⭐⭐⭐
1、CAPC:Consistency(强一致性)
A:Availability(可用性)
P:Partition tolerance(分区容错性)
CAP 理论关注粒度是数据,而不是整体系统设计的策略
2、经典 CAP 图最多只能同时较好的满足两个。
CAP 理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求。
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大CP - 满足一致性,分区容忍性的系统,通常性能不是特别高AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些
AP(Eureka):AP 架构:
当网络分区出现后,为了保证可用性,系统 B 可以返回旧值,保证系统的可用性。
结论:违背了一致性 C 的要求,只满足可用性和分区容错,即 AP
CP(Zookeeper/Consul)CP 架构:
当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性
结论:违 ...
Consul服务注册与发现😶
Consul 服务注册与发现 😶1、Consul 简介1-1、是什么Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。
提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之 Consul 提供了一种完整的服务网格解决方案。
它具有很多优点。包括: 基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、Windows。
1-2、能干嘛
服务发现:提供 HTTP 和 DNS 两种发现方式
健康监测:支持多种方式,HTTP、TCP、Docker、Shell 脚本定制化监控
KV 存储:Key、Value 的存储方式
多数据中心:Consul 支持多数据中心
可视化 Web 界面
1-3、去哪下https://www.consul.io/downloads.html
1-4、使用方法consul 安装教程(linux 系统) - 知乎 ( ...
zookeeper服务注册中心😶
zookeeper 服务注册中心 😶1、SpringCloud 整合 Zookeeper 代替 Eureka1-1、注册中心 Zookeeperzookeeper 是一个分布式协调工具,可以实现注册中心功能关闭 Linux 服务器防火墙后动 zookeeper 服务器zookeeper 服务器取代 Eureka 服务器,zk 作为服务注册中心
2、服务提供者2-1、新建模块 cloud-provider-payment8004如果 zookeeper 的版本和导入的 jar 包版本不一致,启动就会报错,由于 zk-discovery 和 zk 之间的 jar 包冲突的问题。
下图给出的是 spring-cloud-starter-zookeeper-discovery 所引入的 zookeeper jar 包版本,可在父 pom 中找到,如果自己的 zoookeeper 版本和其一致,可不用修改。
pom.xml
解决这种冲突,需要在 pom 文件中,排除掉引起冲突的 jar 包,添加和服务器 zookeeper 版本一致的 jar 包,但是新导入的 zookeeper jar 包 ...
Eureka服务注册中心😶
Eureka 服务注册中心 😶什么是服务治理:
SpringCloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理
在传统的 rpc 远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
什么是服务注册与发现:
Eureka 采用了 CS 的设计结构,Eureka Server 服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server 并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。这点和 zookeeper 很相似
在服务注册与发现中,有一个注册中心。当服务器启动时候,会把当前自己服务器的信息 比如服务地址 通讯地址等以别名方式注册到注册中心上。另一方(消费者服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地 RPC 调用。RPC 远程调用框架核心设计思想:在于注册中心,因为便 ...