分布式
文章平均质量分 88
小缘缘
一个有技术追求,有故事的骚年
展开
-
SpringCloud负载均衡组件Ribbon源码分析
本文从源码视角简述Ribbon如何为客户端提供负载均衡能力。一. 入口 在《SpringCloud负载均衡组件Ribbon相关实践》中我们提到,只需要为RestTemplate增加@LoadBalanced注解,就可以为RestTemplate整合Ribbon,使其具备负载均衡的能力。那么,@LoadBalanced是如何为RestTemplate提供这种能力的呢?下面我们先从...原创 2019-10-29 22:22:44 · 269 阅读 · 1 评论 -
SpringCloud负载均衡组件Ribbon相关实践
一. Ribbon简介 Ribbon是Netfilx发布的负载均衡器,有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务提供者地址列表后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法,例如轮询,随机等。当然,我们也可为Ribbon实现自定义的负载均衡算法。在Spring Cloud中,当Ribbon与E...原创 2019-10-24 17:49:17 · 341 阅读 · 2 评论 -
分布式系统一致性解决方案——Paxos算法
Paxos算法的出现分布式系统一般都要求高可用性,而高可用性一般又通过冗余也就是多副本来解决,所以多副本的引入又会带来了副本的数据一致性问题,所以分布式系统要解决的问题可简单归结为多副本的一致性问题。Paxos算法概述1.Paxos 算法是一种基于消息传递模型的一致性算法。2.Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。3.Paxos 算法的前提是不存...原创 2018-11-14 20:20:16 · 992 阅读 · 0 评论 -
传统SSM项目改造SpringBoot微服务实践
最近公司正准备从传统SSM项目转型微服务,本人在其中负责了微服务的一些改造计划。下面总结改造过程中的思路及实践中遇到的问题。如有不准确的表述,欢迎指正,谢谢一.改造前的准备1.明确改造的影响范围1.1 传统应用的影响范围1.2 数据库的影响范围1.3 其他2.知识储备2.1 SSM项目与SpringBoot工程的区别2.2 微服务体系需要用到的主要技术2.3其他技术二.改造1...原创 2018-12-30 14:56:05 · 8520 阅读 · 1 评论 -
SpringCloud服务发现组件Eureka常见问题汇总
一.注册服务慢1.背景默认情况下,服务启动后,需要注册到Eureka上。但是在开发过程中发现注册,服务注册到Eureka的速度较慢。因此,在开发过程中希望缩短服务的注册时间以提高工作效率。2.原因服务注册涉及到周期性心跳,默认30秒一次。只有当实例,服务器端和客户端的本地缓存中的元数据都相同时,服务才能被其他客户端发现(所以可能需要3次心跳)。因此,可以通过缩短客户端向Eureka发送心...原创 2019-05-09 17:07:21 · 1338 阅读 · 0 评论 -
SpringCloud服务发现组件Eureka源码解析(启动流程)
本文从源码视角简述Eureka Server的启动流程。一.入口eureka-server包结构如下:可以看到,一共包含5个目录,其中/eureka存放配置信息,/static/eureka与/templates/eureka存放静态文件,/org目录存放Java相关代码,/META-INF存放应用的主要信息。打开/META-INF中的spring.factories,内容如下:org...原创 2019-06-25 19:57:27 · 644 阅读 · 0 评论