微服务框架中的Eureka和Ribbon的个人理解

微服务框架需要学习的东西很多,基本上我把它分为了五个模块:

第一:微服务技术模块

分为三个常用小模块:

1.微服务治理:

注册发现

远程调用

配置管理

网关路由

2.微服务保护:

流量控制

系统保护

熔断降级

服务授权

3.分布式事务:

分布式事务

TCC模型

AT模型

Seata

第二:缓存技术模块

分为三个小模块

1.分布式缓存:

Redis数据结构

SpringDataRedis

缓存穿透、雪崩

2.多级缓存:

Openresty

多级缓存

Nginx本地缓存

缓存数据同步

3.Redis集群:

Redis集群

Redis主从复制

Lua脚本

数据持久化

第三:异步通信模块

分为两个模块

1.异步通信:

数据持久化

消息堆积问题

MQ消息模型

SpringAMQP

2.可靠消息服务:

消息可靠性

消息幂等性

镜像集群

延迟队列

第四:搜索技术模块

主要就一个分布式搜索:

DSL语句

RestAPI

ES集群状态

第五:Devops模块

主要就是Docker技术:

Docker使用

Dockerfile

Dockers compose

版本兼容关系:

SpringCloud的关键:如何在Java代码中发起Http请求,来达到分布式的需求。

在实际的分布式中,我们其实很少使用类似于这种Http://localhost:8080/user/ +order.getUserId()这种硬编码,我们通常会使用eurka(尤里卡)来进行服务端注册

搭建注册中心

复制代码

在注册了Eureka之后我们需要把上面的硬代码换成服务器地址同时如果还有负载均衡的话我们还需要添加@LoadBalanced注解:

总结以下:

Ribbon作为Eureka中间件实现了请求的负载均衡:

从前端发过来的请求之后到LoadBalancer:

IRule作为拦截之后查询得规则,有以下内容作为查询时遵循的规则,默认是轮询,

修改规则:方法一是全局得,方法二是针对某个微服务的。

Ribbon的懒加载:

相关推荐
天荒地老笑话么15 分钟前
Spring MVC数据绑定和响应——数据回写(二)JSON数据的回写
java·spring·java-ee·json·mvc
天荒地老笑话么16 分钟前
Spring MVC的高级功能——异常处理(一)简单异常处理器
java·spring·java-ee·mvc
战神刘玉栋25 分钟前
《后端程序猿 · 基于 Lettuce 实现缓存容错策略》
java·spring·缓存
hycccccch29 分钟前
Java&MySQL 学习(基础)
java·开发语言·笔记·学习·mysql
Filwaod42 分钟前
八、【源码】Aware感知对象
java·spring·源码
LiZhen7981 小时前
list.toArray(new String[0])详解
java·list
Flying_Fish_roe1 小时前
spring-08
java·后端·spring
C or Cpp1 小时前
C++协程
java·数据结构·c++
仁希'1 小时前
《Unity3D高级编程之进阶主程》第二章 架构(二) - 软件系统架构思维方式
笔记·架构·系统架构
yaoxin5211231 小时前
第四十五章 在 SOAP 消息中使用数据集 - 以 XML 形式查看数据集和架构
xml·java·开发语言