文章 2021-12-27 来自:开发者社区

大厂是如何做微服务架构的服务路由的?(下)

脚本路由基于脚本语言的路由规则,常用的脚本语言比如JavaScript、Groovy、JRuby等。比如:"script://0.0.0.0/com.foo.BarService? category=routers&dynamic=false&rule=" + URL.encode("(function route(invokers) { ... } (invokers...

文章 2021-12-24 来自:开发者社区

Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】

通过之前的N篇博文介绍,实际上我们已经能够通过使用它们搭建起一个基础的微服务架构系统来实现我们的业务需求了。但是,随着业务的发展,我们的系统规模也会变得越来越大,各微服务间的调用关系也变得越来越错综复杂。通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,在每条链路中任何一个依....

文章 2021-12-23 来自:开发者社区

微服务架构下服务故障处理解决方案(下)

2 单IDC故障为保证业务的高可用,部署在不止一个IDC。整个IDC脱网的事情时有发生,多半是因为不可抗力比如机房着火、光缆被挖断。如果业务全部部署在这个IDC,那就完全不可访问,所以采用多IDC部署。有的采用同城双活,也就是在一个城市的两个IDC内部署有的采用异地多活,一般是在两个城市的两个IDC内部署支付宝这种金融级别的应用采用“三地五中心”部署,这种部署成本显然高比两个IDC要高得多,但可....

文章 2021-12-23 来自:开发者社区

微服务架构下服务故障处理解决方案(上)

微服务优势之一是可缩小故障影响范围,局限在某个服务中。那一个服务出现故障该如何处理?1 集群故障可能整个集群都会故障,无法再对外提供服务。1.1 故障原因代码bug比如OOM突发的流量冲击,超出了系统的最大承载能力比如秒杀,会在某个时刻瞬间涌入大量流量,超出系统承载能力1.2 解决方案1.2.1 限流系统所能承载流量根据集群规模是固定的,称为系统最大容量。当真实流量超过系统最大容量,系统响应就会....

文章 2021-12-23 来自:开发者社区

微服务架构下的服务发布和引用方案

IDL文件接口描述语言(interface description language),通过一种中立的方式来描述接口,使得在不同的平台上运行的对象和不同语言编写的程序可以相互通信交流。比如你用Java语言实现提供的一个服务,也能被PHP语言调用。也就是说IDL主要是用作跨语言平台的服务之间的调用,有两种最常用的IDLFacebook开源的Thrift协议Google开源的gRPC协议以gRPC协....

微服务架构下的服务发布和引用方案
文章 2021-12-22 来自:开发者社区

Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)【Dalston版】

通过上一篇《分布式服务跟踪(入门)》的例子,我们已经通过Spring Cloud Sleuth往微服务应用中添加了实现分布式跟踪具备的基本要素。下面通过本文来详细说说实现分布式服务跟踪的一些要点。分布式系统中的服务跟踪在理论上并不复杂,它主要包括下面两个关键点:为了实现请求跟踪,当请求发送到分布式系统的入口端点时,只需要服务跟踪框架为该请求创建一个唯一的跟踪标识,同时在分布式系统内部流转的时候,....

文章 2021-12-22 来自:开发者社区

Spring Cloud构建微服务架构:分布式服务跟踪(整合logstash)【Dalston版】

通过之前的入门示例,我们已经为trace-1和trace-2引入了Spring Cloud Sleuth的基础模块spring-cloud-starter-sleuth,实现了为各微服务的日志信息中添加跟踪信息的功能。但是,由于日志文件都离散的存储在各个服务实例的文件系统之上,仅仅通过查看日志文件来分析我们的请求链路依然是一件相当麻烦的差事,所以我们还需要一些工具来帮助我们集中的收集、存储和搜索....

文章 2021-12-22 来自:开发者社区

Spring Cloud构建微服务架构:分布式服务跟踪(整合zipkin)【Dalston版】

通过上一篇《分布式服务跟踪(整合logstash)》,我们虽然已经能够利用ELK平台提供的收集、存储、搜索等强大功能,对跟踪信息的管理和使用已经变得非常便利。但是,在ELK平台中的数据分析维度缺少对请求链路中各阶段时间延迟的关注,很多时候我们追溯请求链路的一个原因是为了找出整个调用链路中出现延迟过高的瓶颈源,亦或是为了实现对分布式系统做延迟监控等与时间消耗相关的需求,这时候类似ELK这样的日志分....

Spring Cloud构建微服务架构:分布式服务跟踪(整合zipkin)【Dalston版】
文章 2021-12-22 来自:开发者社区

Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】

在本节内容之前,我们已经对如何引入Sleuth跟踪信息和搭建Zipkin服务端分析跟踪延迟的过程做了详细的介绍,相信大家对于Sleuth和Zipkin已经有了一定的感性认识。接下来,我们介绍一下关于Zipkin收集跟踪信息的过程细节,以帮助我们更好地理解Sleuth生产跟踪信息以及输出跟踪信息的整体过程和工作原理。数据模型我们先来看看Zipkin中关于跟踪信息的一些基础概念。由于Zipkin的实....

Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】
文章 2021-12-22 来自:开发者社区

Spring Cloud构建微服务架构:分布式服务跟踪(抽样收集)【Dalston版】

通过Trace ID和Span ID已经实现了对分布式系统中的请求跟踪,而这些记录的跟踪信息最终会被分析系统收集起来,并用来实现对分布式系统的监控和分析功能,比如:预警延迟过长的请求链路、查询请求链路的调用明细等。此时,我们在对接分析系统时就会碰到一个问题:分析系统在收集跟踪信息的时候,需要收集多少量的跟踪信息才合适呢?理论上来说,我们收集的跟踪信息越多就可以更好的反映出系统的实际运行情况,并给....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

金融级分布式架构

SOFAStack™(Scalable Open Financial Architecture Stack)是一套用于快速构建金融级分布式架构的中间件,也是在金融场景里锤炼出来的最佳实践。

+关注