Ribbon

QtOfficeOpenXml

折月煮酒 提交于 2020-04-19 10:10:05
QtOfficeOpenXml https://github.com/dbzhang800/QtOfficeOpenXml Introduction Qt Office Open Xml is a library that can be used to read and write opc packages, such as .xlsx/.docx/.pptx files. It doesn't require Microsoft Office and can be used in any platform that Qt 5.2 or newer supported. Status Namespace .... [Done] QtOfficeOpenXml::Opc is designed for general OPC package reading and writing. [Wip ] QtOfficeOpenXml::Sml is designed for Spreadsheet documents reading and writing. [Todo] QtOfficeOpenXml::Wml is designed for Wordprocessing documents reading and writing. [Todo] QtOfficeOpenXml::Pml

SpringCloud学习笔记(3):使用Feign实现声明式服务调用

邮差的信 提交于 2020-04-18 10:10:17
简介 Feign是一个声明式的Web Service客户端,它简化了Web服务客户端的编写操作,相对于Ribbon+RestTemplate的方式,开发者只需通过简单的接口和注解来调用HTTP API。它支持Spring MVC注解和JAX-RS注解,还支持可插拔式的编码器和解码器。整合了Eureka,Ribbon和Hystrix,具有可插拔、基于注解、负载均衡、服务熔断等一系列便捷功能。 项目介绍 sc-parent,父模块(请参照 SpringCloud学习笔记(1):Eureka注册中心 ) sc-eureka,注册中心(请参照 SpringCloud学习笔记(1):Eureka注册中心 ) sc-provider,提供者(请参照 SpringCloud学习笔记(1):Eureka注册中心 ) sc-consumer-feign,基于Feign声明式调用的消费者 基于Feign声明式调用的消费者 1.在父模块下创建子模块项目sc-consumer-feign,pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM

一起来学Spring Cloud | 第六章:服务网关 ( Zuul)

别说谁变了你拦得住时间么 提交于 2020-04-18 05:45:11
本章节,我们讲解springcloud重要组件:微服务网关Zuul。如果有同学从第一章看到本章的,会发现我们已经讲解了大部分微服务常用的基本组件。 已经讲解过的: 一起来学Spring Cloud | 第一章 :如何搭建一个多模块的springcloud项目 一起来学Spring Cloud | 第二章:服务注册和发现组件 (Eureka) 一起来学Spring Cloud | 第三章:服务消费者 (负载均衡Ribbon) 一起来学Spring Cloud | 第四章:服务消费者 ( Feign ) 一起来学Spring Cloud | 第五章:熔断器 ( Hystrix) 本章正在讲解的: 一起来学Spring Cloud | 第六章:服务网关 ( Zuul) 下章即将讲解的: 一起来学Spring Cloud | 第七章:分布式配置中心(Spring Cloud Config) 刚入门的同学,如果把前面这七章都理解清楚,并且自己搭建一遍,在工作中,我们已经可以搭建一个最简单的微服务项目了,我曾经看过一个创业公司,他们使用微服务框架时,就用以上的组件在生产上运行着简单的后台业务系统。 一、Zuul简介: Zuul是Netflix开源的微服务网关,它可以和Eureka、Feign、hystrix等组件配合使用,Zuul的核心是一系列过滤器,它主要功能是路由转发和过滤器。

SpringCloud系列-整合Hystrix的两种方式

我只是一个虾纸丫 提交于 2020-04-18 04:34:37
Hystrix [hɪst'rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力。本文所说的Hystrix是Netflix开源的一款容错框架,同样具有自我保护能力。 本文目录 一、Hystrix简介 二、Hystrix的设计原则 三、Hystrix的工作原理 四、Ribbon中使用熔断器 五、Feign中使用熔断器 六、踩到的坑 一、Hystrix简介 Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性、容错性与局部应用的弹性,是一个实现了超时机制和断路器模式的工具类库。 二、Hystrix的设计原则 防止任何单独的依赖耗尽资源(线程) 过载立即切断并快速失败,防止排队 尽可能提供回退以保护用户免受故障 使用隔离技术(例如隔板,泳道和断路器模式)来限制任何一个依赖的影响 通过近实时的指标,监控和告警,确保故障被及时发现 通过动态修改配置属性,确保故障及时恢复 防止整个依赖客户端执行失败,而不仅仅是网络通信 三、Hystrix的工作原理 使用命令模式将所有对外部服务(或依赖关系)的调用包装在HystrixCommand或HystrixObservableCommand对象中,并将该对象放在单独的线程中执行。 每个依赖都维护着一个线程池(或信号量),线程池被耗尽则拒绝请求(而不是让请求排队

Spring Cloud 负载均衡初体验

家住魔仙堡 提交于 2020-04-18 04:13:29
[toc] 本文首发于我的个人博客, Spring Cloud 负载均衡初体验 ,欢迎访问! 使用 Spring Cloud Netflix 组件 Eureka 和 Ribbon 构建单注册中心的负载均衡服务。 Spring Cloud 是基于 Spring 的微服务技术栈,可以这么概括吧,里面包含了很多例如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等组件,可以通过 Spring Boot 的形式进行集成和使用。 目前,项目中有这么个需求,Spring Boot 做一个 web 服务,然后调用 TensorFlow 模型得到结果。但是由于 TensorFlow GPU 版,不支持多线程多引擎,所以只能采用多进程的方式去进行调度,所以需要做一个负载均衡。负载均衡的话,可以分为客户端和服务端负载均衡。我目前还没能领悟到有什么不同,毕竟整体的架构都是一样的,如下如图。其中客户端均衡负载的代表是 Spring Cloud 的 Ribbon,服务端负载均衡代表是 Nginx。 由于项目的压力并不大,日平均请求约 5000 左右,因此就采用 Spring Cloud 中的组件进行客户端负载均衡。主要用到的就是 Spring Cloud 和 Eureka。很多博客中会也看到 Ribbon 的身影。其实他们都是 Spring Cloud Netflix 中的组件,用来构建微服务

一起来学Spring Cloud | 第四章:服务消费者 ( Feign )

岁酱吖の 提交于 2020-04-18 04:12:27
上一章节,讲解了SpringCloud如何通过RestTemplate+Ribbon去负载均衡消费服务,本章主要讲述如何通过Feign去消费服务。 一、Feign 简介: Feign是一个便利的rest框架,在Ribbon的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义成抽象方法,不需要自己构建http请求,简化了调用。但是最后的原理还是通过ribbon在注册服务器中找到服务实例,然后对请求进行分配。 在工作中,我们基本上都是使用Feign来进行服务调用,因为Feign使用起来就像是调用自身本地的方法一样,而感觉不到是调用远程方法,相当舒服,它主要有3个优点。 1. feign本身里面就包含有了ribbon,具有负载均衡的能力 2. fegin是一个采用基于接口的注解的编程方式,更加简便 3. fegin整合了Hystrix,具有熔断的能力 二、 准备工作: 1. 启动eureka-server 工程,eureka注册中心就启动了。 2. 启动springcloud-eureka-client工程,springcloud-eureka-client工程的端口为9300。 3. 将springcloud-eureka-client工程的application.properties文件中端口改成9400,然后再启动springcloud-eureka-client

形象化理解 SpringBoot + SpringCloud

萝らか妹 提交于 2020-04-17 13:13:03
【推荐阅读】微服务还能火多久?>>> Spring framework架构的项目就像上海中心这样的高楼大厦,一栋大厦里租用者各色各样的公司和企业为用户提供各种各样的服务。 大厦里的每间办公室都是一个容器,对应着一个docker容器,空办公室对于用户来说是没有任何意义的,只有里面入住了企业(Spring boot),跑了各种程序,才叫一个微服务结点。 房间号可以理解成容器的ip和端口,企业名理解成微服务的服务名,如果一家企业规模较大,需要租多间办公室才可以,那就是多个容器共同组成一个高可用性的微服务组群。 大厦有一本企业列表,有哪些企业提供哪些服务,对应的房间号是什么,这本列表就是Spring Cloud Eureka。 大厦的大门是所有企业的对外的gateway,用户只能通过大门进去然后进行安检后保安会帮你指路告诉你要找的企业在哪里,这里的大门和门卫就是Spring Cloud Zuul。 也不是所有的房间都是给企业准备的,也有弱点室、茶水间等为所有企业准备的公共设施,这就是Spring Cloud Hystrix的Dashboard、redis、MQ等这些独立的辅助服务。 如果要访问大厦里的某一个企业你只知道企业名,你是不知道具体在哪一楼层哪一房间的,需要去看楼层的导航图或者电梯附近的企业列表(Eureka),如果一个企业有多个房间,客户自己决定进哪一个房间去获取服务

【SpringBoot】SpringBoot 之 自定义Ribbon均衡策略(七)

喜夏-厌秋 提交于 2020-04-13 14:58:00
【今日推荐】:为什么一到面试就懵逼!>>>   本章介绍Ribbon自定义规则 Ribbon自带随机均衡策略   1、搭建项目,参考: 【SpringCloud】SpringCloud 服务提供者集群与服务发现Discovery(三)   2、新增配置类,配置类中注入IRule的实现类     在调用者项目(test-springcloud-order8000)中,新增一个配置类com.test.myrule.MySelfRule 1 package com.test.myrule; 2 3 import com.netflix.loadbalancer.IRule; 4 import com.netflix.loadbalancer.RandomRule; 5 import org.springframework.context.annotation.Bean; 6 import org.springframework.context.annotation.Configuration; 7 8 @Configuration 9 public class MySelfRule { 10 11 @Bean 12 public IRule myRule(){ 13 // 定义随机规则 14 return new RandomRule(); 15 } 16 }     注意

SpringCloud Ribbon组成和负载均衡规则

本小妞迷上赌 提交于 2020-04-10 10:06:05
Ribbon饥饿加载 默认情况下Ribbon是懒加载的。当服务起动好之后,第一次请求是非常慢的,第二次之后就快很多。 解决方式:开启饥饿加载 ribbon: eager-load: enabled: true #开启饥饿加载 clients: server-1,server-2,server-3 #为哪些服务的名称开启饥饿加载,多个用逗号分隔复制代码 Ribbon组成 接口 作用 默认值 IclientConfig 读取配置 DefaultClientConfigImpl IRule 负载均衡规则,选择实例 ZoneAvoidanceRule IPing 筛选掉ping不通的实例 DumyPing (该类什么不干,认为每个实例都可用,都能ping通) ServerList 交给Ribbon的实例列表 Ribbon: ConfigurationBasedServerList Spring Cloud Alibaba: NacosServerList ServerListFilter 过滤掉不符合条件的实例 ZonePreferenceServerListFilter ILoadBalancer Ribbon的入口 ZoneAwareLoadBalancer ServerListUpdater 更新交给Ribbon的List的策略 PollingServerListUpdater

.Net微服务实践(一):微服务框架选型

我与影子孤独终老i 提交于 2020-04-09 18:53:22
目录 微服务框架 SpringCloud SpringCloud技术栈 SpringCloud核心组件 核心组件工作原理 微服务架构组件 最后 微服务框架 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 以往我们开发应用程序都是单体型,虽然开发和部署比较方便,但后期随着业务的不断增加,开发迭代和性能瓶颈等问题,将会困扰开发团队,微服务就是解决此问题的有效手段。 那么我们在具体实践落地微服务时,我们又需要做什么?一个微服务框架到底又有什么呢?特别是对于.NET生态圈的小伙伴们,一直都有很多困惑,不知该如何下手。 既然我们不知道,又要高清楚,那最好的办法是什么呢?我认为最有效的方式是 研究成熟的产品 。市面上成熟的微服务框架有一些, 而SpringCloud就是可供研究的对象,下面我们一起来看看SpringCloud是什么? SpringCloud SpringCloud技术栈 从上面的技术栈图中可以看出: 微服务框架核心是 服务治理 服务治理的核心组件包括 网关 、 服务注册与发现 、 服务调用 SpringCloud核心组件 组件 选型 备注 网关 Zuul 服务注册与发现