7

攻城狮Chova的个人修养

 3 years ago
source link: https://my.oschina.net/chova/blog/4983116
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Ribbon负载均衡

Ribbon与Nginx的区别

  • 客户端负载均衡Ribbbon:
    • Ribbon是从Eureka注册中心服务器上获取注册信息列表,缓存到本地, 然后在本地实现轮询负载均衡策略.即在客户端实现负载均衡.
  • 服务端负载均衡Nginx:
    • Ngnix是客户端所有请求统一交给Nginx,由Nginx实现负载均衡请求转发,属于服务器端负载均衡.即请求由Nginx服务器端进行转发.
    • 应用场景的区别:
      • Nginx适用服务器端实现负载均衡:Tomcat,Jetty
      • Ribbon适用于在微服务中RPC远程调用实现本地负载均衡:Dubbo,SpringCloud

Ribbon负载均衡的底层实现

  • Ribbon负载均衡:
    • 客户端从Eureka注册中心获取对应的注册信息列表,获取到注册信息列表后,缓存到本地,然后在本地实现负载均衡.即负载均衡是由客户端实现的.
  • 负载均衡算法:
    • 接口的总请求数取模服务器数得到实际的服务器下标(从0开始)获取到服务器调用服务
  • 实现:
    • 获取对应服务器的远程调用地址:DiscoveryClient
    List<ServiceInstance> instances=discoveryClient.getInstance("eureka_ticket");
    
    • 使用rest方式发送请求使用远程调用
     String result=restTemplate.getForObject(instanceUrl,String.class);
    

Feign

  • SpringCloud中支持两种客户端调用工具:
    • Rest(RestTemplate模板)
    • Feign
  • Feign是声明式Http客户端调用工具,采用接口+注解方式实现,易读性强.
Feign客户端书写是以SpringMVC接口形式书写的

@FeignClient(name="服务别名")
@FeignClient调用服务接口(name:服务名称)

在主类上标注@EnableFeignClients注解开启Feign权限
微服务项目目录结构:
parent: 存放共同的依赖信息
api-service: 所有服务的接口
ticket-service: 特定服务的接口
ticket-serviceImpl: 特定服务的实现
实体类和定义接口信息存放在接口包里
在特定服务中的参数前面要标注@RequestParam("xx"),这样参数才会被接收

Feign客户端超时时间设置

设置Feign客户端超时时间
ribbon.connectTime=5000		# 建立连接所用时间,两端连接所用时间
ribbon.ReadTimeout=5000		# 建立连接后,从服务器读取可用资源所用时间

© 著作权归作者所有

portrait.gif

其他人还在看

大家每次上网浏览一些不可说的小网站时,是不是时常会没有安全感? 虽然说Chrome的无痕模式可以用于访问敏感网站、不会保存Cookie以及历史记录,但就算是开启了无痕模式,我们也总会有忘记关窗口的时候。 这样一来...
“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一” ——包租婆 这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需...
最近看到不少人看衰Python,认为相关行业已经饱和。 然而事实并非如此。有一个领域目前急缺人才,认为Python已死全因为你还没发现这片领域! 它就是数 据 分 析。 清华大学经管学院发布的《中国经济的数字化转型:...
点击上方蓝色“肉眼品世界”,选择“设为星标” 深度价值体系传递 背景 测试mysql5.7和mysql8.0 分别在读写、只读、只写模式下不同并发时的性能(tps,qps) 前提 测试使用版本为mysql5.7.22和mysql8.0.15 sysbe...
3.0的目标 更小 更快 加强 TypeScript 支持 加强 API 设计一致性 提高自身可维护性 开放更多底层功能 什么是Hooks? hooks翻译过来是钩子的意思,这个可能有一些模糊,简单点说hooks就是一个函数(可以复用的函数)例如:业务中很难避免的一个问题就是-- 逻辑复用,同样的功能,同样的组件,在不一样的场合下,我们有时候...
△点击上方“Python猫”关注 ,回复“2”加入交流群 作者:菜鸟哥 来源:菜鸟学Python 今天早上看到新闻,一代喜剧大师,著名的喜剧演员达叔离开了,心情还是非常沉重的。小编是看过达叔演的电影长大的,比如新乌...
对于任何图形界面的框架而言,布局都是非常重要的一个组成部分。 它就像人体的骨骼、房屋的钢筋混凝土梁架,支撑起整个图形界面、条理好各个小部件的位置。 在 Web 开发的前端 CSS 中,最常见的有栅格布局、绝对布...
前言 Spring Boot致力于简化开发配置并为企业级开发提供一系列非业务性功能, 而Vue则采用数据驱动视图的方式将程序员从繁琐的DOM操作中解救出来。利用Spring Boot+Vue,我们可以快速开发出大型SPA应用。 SpringBo...
本文主要介绍了基于SpringMVC+mybatis对DDD思想的落地实现框架。本文为【DDD】系列文章中的其中一篇,其他内容可参考:使用领域驱动设计思想实现业务系统。 框架实现图 该框架实现基本和DDD的指导思想契合,主要分为四层,且将关注点放在了domain层。下面将逐层介绍各个组件的职责。 框架详述 User Interface层 门面层,...
大家每次上网浏览一些不可说的小网站时,是不是时常会没有安全感? 虽然说Chrome的无痕模式可以用于访问敏感网站、不会保存Cookie以及历史记录,但就算是开启了无痕模式,我们也总会有忘记关窗口的时候。 这样一来...
“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一” ——包租婆 这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需...
最近看到不少人看衰Python,认为相关行业已经饱和。 然而事实并非如此。有一个领域目前急缺人才,认为Python已死全因为你还没发现这片领域! 它就是数 据 分 析。 清华大学经管学院发布的《中国经济的数字化转型:...
点击上方蓝色“肉眼品世界”,选择“设为星标” 深度价值体系传递 背景 测试mysql5.7和mysql8.0 分别在读写、只读、只写模式下不同并发时的性能(tps,qps) 前提 测试使用版本为mysql5.7.22和mysql8.0.15 sysbe...
3.0的目标 更小 更快 加强 TypeScript 支持 加强 API 设计一致性 提高自身可维护性 开放更多底层功能 什么是Hooks? hooks翻译过来是钩子的意思,这个可能有一些模糊,简单点说hooks就是一个函数(可以复用的函数)例如:业务中很难避免的一个问题就是-- 逻辑复用,同样的功能,同样的组件,在不一样的场合下,我们有时候...
△点击上方“Python猫”关注 ,回复“2”加入交流群 作者:菜鸟哥 来源:菜鸟学Python 今天早上看到新闻,一代喜剧大师,著名的喜剧演员达叔离开了,心情还是非常沉重的。小编是看过达叔演的电影长大的,比如新乌...
对于任何图形界面的框架而言,布局都是非常重要的一个组成部分。 它就像人体的骨骼、房屋的钢筋混凝土梁架,支撑起整个图形界面、条理好各个小部件的位置。 在 Web 开发的前端 CSS 中,最常见的有栅格布局、绝对布...
前言 Spring Boot致力于简化开发配置并为企业级开发提供一系列非业务性功能, 而Vue则采用数据驱动视图的方式将程序员从繁琐的DOM操作中解救出来。利用Spring Boot+Vue,我们可以快速开发出大型SPA应用。 SpringBo...
本文主要介绍了基于SpringMVC+mybatis对DDD思想的落地实现框架。本文为【DDD】系列文章中的其中一篇,其他内容可参考:使用领域驱动设计思想实现业务系统。 框架实现图 该框架实现基本和DDD的指导思想契合,主要分为四层,且将关注点放在了domain层。下面将逐层介绍各个组件的职责。 框架详述 User Interface层 门面层,...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK