0


微服务框架中的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的懒加载:

标签: 微服务 java 架构

本文转载自: https://blog.csdn.net/qq_54429126/article/details/140015097
版权归原作者 这种幸福很生活 所有, 如有侵权,请联系我们删除。

“微服务框架中的Eureka和Ribbon的个人理解”的评论:

还没有评论