![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
文章平均质量分 91
xiaomin_____
努力~~
展开
-
微服务Spring Cloud与Kubernetes比较
Spring Cloud或Kubernetes都宣称它们是开发运行微服务的最好环境,哪个更好?答案是两个都是,但他们拥有各自不同的特征方式。背景故事最近,Lukyanchikov发表了一篇使用Spring Cloud和Docker建立微服务架构的文章。 它给出了如何使用Spring Cloud创建一个简单的基于微服务的系统所需的全面概述。 为构建一个可扩展到数十或数百个服务的伸缩弹性的微服务系...原创 2017-03-04 11:32:24 · 434 阅读 · 0 评论 -
深入理解Zuul之源码解析
http://blog.csdn.net/forezp/article/details/76211680原创 2017-08-14 10:09:52 · 138 阅读 · 0 评论 -
Zuul:智能路由和过滤(译)
Router and Filter: Zuul路由是微服务架构的不可或缺的一部分。例如:”/” 可能映射到你应用主页,/api/users映射到用户服务,/api/shop映射到购物服务。Zuul。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。Netflix uses Zuul for the following: * Authentication * I...原创 2017-08-12 08:23:29 · 93 阅读 · 0 评论 -
zuul 参数调优
适用版本:spring-boot: 1.4.x.RELEASEspring-cloud:Camden.SR3Hystrix: 1.5.6spring-boot-tomcat 优化参数:主要只有2个,最大和最小worker线程:server.tomcat.max-threads=128 # Maximum amount of worker threads.serv...原创 2017-08-11 16:57:23 · 642 阅读 · 0 评论 -
使用consul实现服务的注册和发现
转载地址:http://blog.csdn.net/mn960mn/article/details/51768678服务注册 - 服务进程在注册中心注册自己的位置。它通常注册自己的主机和端口号,有时还有身份验证信息,协议,版本号,以及运行环境的详细资料。服务发现 - 客户端应用进程向注册中心发起查询,来获取服务的位置。服务发现的一个重要作用就是提供一个可用的服务列表服务定义的格式类似如下:[pla...原创 2017-08-11 13:39:13 · 609 阅读 · 1 评论 -
Consul入门07 - Consul Web界面
Consul还带来了一个界面美观,功能强大的,开箱即用的Web界面。通过该界面我们可以查看所有的服务以及节点,查看所有的健康监测及其当前的状态,以及读取和设置键/值数据。该Web界面自动支持多数据中心。有俩个方法来运行Web界面:使用Atlas by HashiCorp主机以及使用自有主机使用Atlas主机你必须在你的配置中增加两个字段来设置使用Atlas界面:你Atlas i...原创 2017-08-11 10:15:22 · 284 阅读 · 0 评论 -
微服务实战(四):服务发现的可行方案以及实践案例
为什么要使用服务发现?设想一下,我们正在写代码使用了提供REST API或者Thrift API的服务,为了完成一次服务请求,代码需要知道服务实例的网络位置(IP地址和端口)。传统应用都运行在物理硬件上,服务实例的网络位置都是相对固定的。例如,代码可以从一个经常变更的配置文件中读取网络位置。而对于一个现代的,基于云微服务的应用来说,这却是一个很麻烦的问题。其架构如图所示:服务实例的网络位...原创 2016-12-25 11:26:36 · 89 阅读 · 0 评论 -
使用Netsil监控Kubernetes上的微服务
Kubernetes 是容器编排和调度领域的王者,它击败了竞争对手Docker Swarm和Apache Mesos,开启了闪耀的未来,微服务可以 自修复 ,可以 自动扩展 ,可以跨zone,region甚至跨云供应商进行federate。在这样的云原生应用程序的新纪元里,能够以简单的方式洞察服务之间是如何交互的变得日益重要——这可和大海捞针般大范围寻找导致性能问题的某个特定的原因是不一样的。...原创 2016-12-08 14:26:11 · 116 阅读 · 0 评论 -
使用Mesos和Marathon管理Docker集群
分 布式系统是难于理解、设计、构建 和管理的,他们将比单个机器成倍还要多的变量引入到设计中,使应用程序的根源问题更难发现。SLA(服务水平协议)是衡量停机和/或性能下降的标准,大多 数现代应用程序有一个期望的弹性SLA水平,通常按"9"的数量增加(如,每月99.9或99.99%可用性)。每个额外的9变得越来越难实现。 分布式系统通常是以静态分区,比如Akka/Play、 Spark...原创 2016-09-27 11:45:49 · 151 阅读 · 0 评论 -
Hystrix 配置说明
Hystrix参数说明 https://github.com/Netflix/Hystrix/wiki/Configuration Command Properties Execution 控制HystrixCommand.run()的执行策略 execution.isolation.strategy 执行隔离策略 THREAD 每次在一个线程中执行,并发请求数限制于线程池的线程数 SEMAP...原创 2016-09-18 15:40:11 · 216 阅读 · 0 评论 -
分布式服务弹性框架“Hystrix”实践与源码研究(一)
文章初衷为了应对将来在线(特别是无线端)业务量的成倍增长,后端服务的分布式化程度需要不断提高,对于服务的延迟和容错管理将面临更大挑战,公司框架和开源团队选择内部推广Netflix的Hystrix,一是为了推进各部门的服务使用覆盖率,二是为了增加C Sharp语言版本的参与度(目前公司至少三成服务由.NET编写)。该博文属于个人对Hystrix研究和实践经验。什么是Hystrix?Hy...原创 2016-09-17 20:14:20 · 99 阅读 · 0 评论 -
使用Hystrix守护应用(2)
执行方式 HystrixCommand提供了3种执行方式: 同步执行:即一旦开始执行该命令,当前线程就得阻塞着直到该命令返回结果,然后才能继续执行下面的逻辑。当调用命令的execute()方法即为同步执行, 示例: Java代码 @Test public void synchronousExecute() throws Exception { ...原创 2016-09-17 18:31:53 · 129 阅读 · 0 评论 -
使用Hystrix守护应用(1)
Hystrix(https://github.com/Netflix/Hystrix)是Netflix(https://www.netflix.com/global)的一个开源项目,主要作用是通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。 其可以看做是Netflix团队对分布式系统运维的各种理念和实践的总结。值得一提的是在ThoughtWorks最新的Te...原创 2016-09-17 18:31:00 · 103 阅读 · 0 评论 -
Spring Cloud Zuul 的 route 运行机制分析
下面的内容分两个部分,spring-cloud-netflix-core 是spring部分的处理,负责把zuul接入spring cloud 体系;zuul-core 提供 ZuulFilter 机制,以及对应的处理模型。 spring-cloud-netflix-core-1.3.1.RELEASE.jar EnableZuulProxy EnableZuulServer...原创 2017-08-15 09:54:18 · 112 阅读 · 0 评论 -
Zuul 源码学习
spring-cloud中的gateway是在netflix公司开源组件zuul的基础上构建,我们学习下zuul的实现细节。zuul-simple-webapp首先通过官方demo来查看下加载流程。Paste_Image.png我们知道一个web项目的基本结构以及运行流程,web.xml文件是非常重要的,从文件中我们可以看到整理的一个运行流程。StartServ...原创 2017-08-15 09:55:31 · 145 阅读 · 0 评论 -
Spring Cloud实战小贴士:Zuul处理Cookie和重定向
由于我们在之前所有的入门教程中,对于HTTP请求都采用了简单的接口实现。而实际使用过程中,我们的HTTP请求要复杂的多,比如当我们将Spring Cloud Zuul作为API网关接入网站类应用时,往往都会碰到下面这两个非常常见的问题:会话无法保持重定向后的HOST错误本文将帮助大家分析问题原因并给出解决这两个常见问题的方法。一、会话保持问题通过跟踪一个HTTP请求...原创 2017-08-18 10:00:42 · 202 阅读 · 0 评论 -
zuul实现动态路由以及相关源码解析
关于zuul如何实现动态路由,已经有大神写博客详解过,这里不啰嗦了,文章地址:Spring Cloud Zuul实现动态路由,咱们就从这篇文章最后的一个问题讲起,作者在最后实现动态刷新路由规则时说:为什么不自己是手动重新加载Locator.dorefresh?非要用事件去刷新?这牵扯到内部的zuul内部组件的工作流程,不仅仅是Locator本身的一个变量,具体想要了解的还得去看源码。下面我...原创 2017-08-18 09:55:20 · 148 阅读 · 0 评论 -
zuul ribbon设置url级别的超时时间
##timeout confighystrix: command: default: execution: timeout: enabled: true isolation: thread: timeoutInMilliseconds: 60000ri...原创 2017-08-17 10:01:51 · 554 阅读 · 0 评论 -
SpringCloud中Rabbitmq的使用
SpringCloud中Rabbitmq的使用1.pom配置,添加以来jar包1 <dependency>2 <groupId>org.springframework.cloud</groupId>3 <artifactId>spring-cloud-starter-bus-amqp</artifact...原创 2017-08-17 10:01:05 · 127 阅读 · 0 评论 -
使用 Spring Cloud Stream 构建消息驱动微服务
微服务的目的: 松耦合事件驱动的优势:高度解耦Spring Cloud Stream 的几个概念Spring Cloud Stream is a framework for building message-driven microservice applications.官方定义 Spring Cloud Stream 是一个构建消息驱动微服务的框架。S...原创 2017-08-17 10:00:24 · 223 阅读 · 0 评论 -
Netflix源码解析之Ribbon:客户端负载均衡器Ribbon的设计和实现
1. LB的基本功能要求想想一个LB是怎么工作的,不管是硬件的还是软件的,我们要求它有哪些能力,提个最精简的需求清单出来:好像能想到的也就两个吧:?设置添加和读取后端的服务(器)列表能从中选择一个服务(器)Netflix的LoadBalancer也是这样被要求的。通过ILoadBalancer来要求的。可以看到主要有:对应配置后端服务;读取后端服务;标记一个服务不可...原创 2017-08-16 10:30:31 · 245 阅读 · 0 评论 -
深入解析Spring Cloud内置的Zuul过滤器
Spring Cloud默认为Zuul编写并启用了一些过滤器,这些过滤器有什么作用呢?我们不妨按照@EnableZuulServer、@EnableZuulProxy两个注解进行展开,相信大家对这两个注解都不陌生(至少都见过吧)。如果觉得陌生也没有关系,可将@EnableZuulProxy简单理解为@EnableZuulServer的增强版。事实上,当Zuul与Eureka、Ribbon等组件...原创 2017-08-16 10:25:34 · 134 阅读 · 0 评论 -
zuul入门(1)zuul 的概念和原理
一、zuul是什么zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。zuul的例子可以参考 netflix 在github上的 simple webapp,可以按照ne...原创 2017-08-16 10:25:18 · 177 阅读 · 0 评论 -
Spring Cloud源码分析(四)Zuul:核心过滤器
通过之前发布的《Spring Cloud构建微服务架构(五)服务网关》一文,相信大家对于Spring Cloud Zuul已经有了一个基础的认识。通过前文的介绍,我们对于Zuul的第一印象通常是这样的:它包含了对请求的路由和过滤两个功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础;而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的...原创 2017-08-16 10:25:06 · 82 阅读 · 0 评论 -
Netflix学习笔记:Ribbon
Ribbon是什么?Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随即连接等)去连接这些机器。我们也很容易使用Ribbon实现...原创 2017-08-16 10:24:33 · 355 阅读 · 0 评论 -
Netflix源码解析之Ribbon:负载均衡策略的定义和实现
Ribbon负载均衡策略定义 IRule其实就只做了一件事情Server choose(Object key),可以看到这个功能是在LB中定义(要求)的,LB把这个功能委托给IRule来实现。不同的IRule可以向LB提供不同的负载均衡算法。 publicinterfaceIRule{publicServer choose(Object key);publicvoid setL...原创 2017-08-15 10:01:39 · 313 阅读 · 0 评论 -
spring cloud中通过配置文件自定义Ribbon负载均衡策略
一、Ribbon中的负载均衡策略1、Ribbon中支持的负载均衡策略AvailabilityFilteringRule:过滤掉那些因为一直连接失败的被标记为circuit tripped的后端server,并过滤掉那些高并发的的后端server(active connections 超过配置的阈值) | 使用一个AvailabilityPredicate来包含过滤server的逻辑...原创 2017-08-15 09:56:21 · 112 阅读 · 0 评论 -
使用Hystrix守护应用(3)
监控HystrixCommand 除了隔离依赖服务的调用外,Hystrix还提供了近乎实时的监控,Hystrix会实时的,累加的记录所有关于HystrixCommand的执行信息,包括执行了每秒执行了多少请求,多少成功,多少失败等等,更多指标请查看:https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring 导出监控数据 有了这些...原创 2016-09-17 18:30:14 · 111 阅读 · 0 评论 -
Hystrix使用
1. 依赖引入pom.xml<properties> <hystrix-version>1.4.22</hystrix-version></properties><dependencies> <dependency> <group...原创 2016-09-15 21:55:36 · 322 阅读 · 0 评论 -
使用Springboot和Hystrix构建API Gateway
使用Hystrix构建API Gateway随着MicroService架构越来越深入人心,如何构建一个高性能,错误容忍的API Gateway成了一个很多人都遇到的问题。Netflix开源了Hystrix来帮助我们实现API Gateway。这里提供一个Springboot+Hystrix的例子: https://github.com/qmhu/SpringHystrixSa...原创 2016-07-16 14:25:36 · 425 阅读 · 0 评论 -
使用Hystrix守护应用(3)
监控HystrixCommand 除了隔离依赖服务的调用外,Hystrix还提供了近乎实时的监控,Hystrix会实时的,累加的记录所有关于HystrixCommand的执行信息,包括执行了每秒执行了多少请求,多少成功,多少失败等等,更多指标请查看:https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring 导出监控数据 有了这...原创 2016-07-16 11:36:59 · 119 阅读 · 0 评论 -
Microservice with SpringCloud
Microservice 其實不是很好管理,可想而知會有非常多路由、組態、監控等問題要搞,但是如果你團隊都是用Java的話,基本上 SpringCloud 提供非常多組件,讓你使用一些簡單設定檔跟 Annotation 就可以搞定 Discovery、Synchronize Settings、Proxy、LoadBalance、Realtime Dashboards、LogAnalyzer 等...原创 2016-07-15 10:15:56 · 203 阅读 · 0 评论 -
spring cloud zuul 入门
一 .首先打开http://start.spring.io/一看就知道怎么搞了吧,不用多少了 首先建一个Springboot的Demo工程首先建立一个BookApplication 代码如下很简单package com.example;import org.springframework.boot.SpringApplication;import org.springf...原创 2016-07-14 23:34:28 · 150 阅读 · 0 评论 -
Spring Cloud with Turbine
Netflix Hystrix has a neat feature called the Hystrix stream that provides real-time metrics on the state of the Hystrix commands in an application. This data tends to be very raw though, a very coo...原创 2016-07-13 23:39:13 · 85 阅读 · 0 评论 -
SpringCloud微服务实战
主要有eureka做服务发现、config做分布式配置、zuul做api-gateway、feign做客户端负载均衡、hystrix做断路器、turbine做聚合的monitor、graphite做指标监控。eurekapom配置<dependencies> <dependency> <group...原创 2016-07-13 10:12:23 · 187 阅读 · 0 评论 -
SpringBoot笔记一
1 开始1.1 spring介绍Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run"。 我们为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。你可以使用Spring Boot创建Java应用,并使用java -jar启动它或采用传统的war部...原创 2016-07-13 10:11:44 · 119 阅读 · 0 评论 -
Spring cloud实现服务注册及发现
服务注册与发现对于微服务系统来说非常重要。有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务。 本文属于《7天学会spring cloud系列》之四,关注服务注册与发现,本文涉及到的项目:开源项目:http://git.oschina.net/zhou666/spring-cloud-7simplecloud-eur...原创 2016-07-13 10:10:49 · 142 阅读 · 0 评论 -
SpringCloud分布式开发五大神兽
SpringCloud分布式开发五大神兽服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon断路器——Netflix Hystrix服务网关——Netflix Zuul分布式配置——Spring Cloud ConfigEureka一个RESTful服务,用来定位运行在AWS地区(Re...原创 2016-07-12 14:37:11 · 326 阅读 · 0 评论 -
实施微服务,我们需要哪些基础框架?
微服务(MicroServices)架构是当前互联网业界的一个技术热点,圈里有不少同行朋友当前有计划在各自公司开展微服务化体系建设,他们都 有相同的疑问:一个微服务架构有哪些技术关注点(technical concerns)?需要哪些基础框架或组件来支持微服务架构?这些框架或组件该如何选型?笔者之前在两家大型互联网公司参与和主导过大型服务化体系和框 架建设,同时在这块也投入了很多时间去学习和研...原创 2016-07-12 14:05:18 · 78 阅读 · 0 评论 -
springcloud(第三篇)springcloud eureka 服务注册与发现
spring cloud eurekaeureka 用以服务发现、服务注册,比较流行的有consul简介eureka为netflix开源软件,分为三个部分:eureka服务:用以提供服务注册、发现,已一个war的形式提供 http://search.maven.org/#search%7Cga%7C1%7Ceureka-server 或者编译源码,将war拷贝进tom...原创 2016-07-12 11:44:38 · 131 阅读 · 0 评论