微服务组件
布鲁斯1990
专注于微服务,DevOps, Linux
Github: https://github.com/Guilai1990/
展开
-
微服务发现组件Eureka Client源码解读篇
上一篇实战篇讲到Eureka具有如下功能:获取注册表信息服务注册服务续约服务下线(服务销毁)那么它是如何实现?接下来通过源码解读的方式一一道来。由于Eureka客户端代码较多,单独成篇,此篇主要是关于客户端源码的解读,下一篇文章讲解服务器端源码。Eureka是由Netflix公司开发并开源的微服务组件之一,目前最新版本是2.X,网飞出于商业的考虑,该组件不再增加新功能,不会有更新的版...原创 2019-06-18 20:38:31 · 521 阅读 · 0 评论 -
微服务发现组件Eureka Server源码解读篇
上一篇说到Eureka客户端,这篇分析服务器端是如何与客户端交互及实现了哪些功能这里解释一些Eureka的专有名词instanceInfo: 服务实例信息, instanceId(唯一),app, appGroupName, ipAddr, port, leaseInfo等Lease:租约,客户端向服务器端注册相当于签下了一纸租约,存在租期的概念,到期了要是没动静就默认不租了,把实例剔除...原创 2019-06-19 22:15:12 · 359 阅读 · 0 评论 -
微服务发现组件Eureka——实战篇
在文章微服务架构设计模式——微服务架构 中谈到服务发现组件Eureka,在这里做一下拓展。古人云,知其然,知其所以然。国人习惯于先讲实战,后谈理论,鉴于此,这篇文章主要讲Eureka如何使用,在下一篇文章会详细分析Eureka的源码。首先,从架构图一窥Eureka的究竟。Eureka架构图从架构图中可知,Eureka具有如下功能:服务注册获取注册表信息服务续约服务下线(服务销毁...原创 2019-06-17 23:22:13 · 421 阅读 · 0 评论 -
微服务RESTful客户端Feign——实战篇
什么是Feign,又为什么使用Feign。Feign是一个声明式的Web Service客户端, Feign满足JSR 356规范、满足JAX-RS(Java API for RESTful)规范 ,可以快速地构建具有RESTful风格的网络请求应用。为什么用Feign,在微服务架构中, 庞杂的系统被分成了一个个微小的服务,服务与服务之间是通过HTTP接口的形式对外提供服务,Feign让服务间的调...原创 2019-06-22 01:39:52 · 2068 阅读 · 0 评论 -
微服务RESTful客户端Feign——源码解读篇
所谓一图胜千言,本篇文章先用Spring Cloud Feign类的脑图勾勒一个对Feign的简明印象。然后通过http请求的流程图和源码解析来解读Feign的功能。下图是对Spring Cloud Feign类的一个简单描述,先对整体的框架有个了解。Spring Cloud Feign类解析下图可以看出OpenFeign在微服务架构中的角色,即方便构建网络请求应用。OpenFeg...原创 2019-07-02 13:34:43 · 522 阅读 · 0 评论 -
微服务负载均衡组件Ribbon——实战篇
Ribbon是一个有容错能力的客户端负载均衡器,支持HTTP\TCP\UDP协议,从前面Feign的源码可以看出来,默认Feign集成了Ribbon。下面是官方对Ribbon特性的一个简介。Ribbon is a client side IPC library that is battle-tested in cloud. It provides the following featuresL...原创 2019-07-08 19:48:32 · 1210 阅读 · 0 评论 -
微服务负载均衡组件Ribbon——源码解读篇
从这几篇源码解读可以发现一个规律,那就是引进某个服务,会经常看到@Configuration和@Import(核心服务注册类)这两个注解,伴随着@ConditonalOnClass(XXX.class)、@ConditionalOnBean(XXX.class)、@ConditionOnProperty(***)和@ConditionalOnMissingBean(XXX.class)。作为Spr...原创 2019-07-10 21:04:58 · 562 阅读 · 0 评论