`
valiant025
  • 浏览: 15127 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
1. 什么是 okhttp ? okhttp 是由 square 公司开源的一个 http 客户端。在 Java 平台上,Java 标准库提供了 HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API 不够友好,所提供的功能也有限。大部分 Java 程序都选择使用 Apache 的开源项目 HttpClient 作为 HTTP 客户端。Apache HttpClient 库的功能强大,使用率也很高。(了解源码可+WX:  haiwabbc) 2. 为什么要使用 okhttp ? okhttp 的设计初衷就是简单和高效,这也是 ...
1. Docker 化配置 这里我们根据 dockerfile-maven-plugin 这个 maven 插件来构建,可以用来构建 docker 镜像的 maven 插件有很多,其中使用比较多的包括 docker-maven-plugin ,这两个插件是同一个人在 Github 上开源的, docker-maven-plugin 被作者标记为不活跃的,并且建议大家使用 dockerfile-maven-plugin ,作者可能是觉得 docker-maven-plugin 在使用的方式上并不是那么的优雅,才又新写了 dockerfile-maven-plugin 。(了解源码可+求求: 1 ...
  1. 容器化 Docker 的横空出世,给了容器技术带来了质的飞跃,Docker 标准化了服务的基础设施,统一了应用的打包分发,部署以及操作系统相关类库等,解决了测试生产部署时环境差异的问题。对于运维来讲,由于镜像的不可变性,更容易进行服务部署和回滚操作。利用各种第三方容器管理平台,实现一键部署、动态伸缩等操作变的轻而易举。(了解源码可+求求: 1791743380) 2. 基础镜像选择 在操作系统的选择上,可选择传统的 CentOS 、 Ubuntu 或者更为轻量化的 Alpine 。比如 CentOS 或者 Ubuntu 的镜像都在 100MB 以上,压缩后也都有大几十 MB ...
Zuul作为一个老牌的开源服务网关组件,动态路由对它来讲是一个十分必要的功能,毕竟我们不能随便重启服务网关,服务网关是一个微服务系统的大门,今天我们介绍的Zuul动态路由的解决方案来自于携程开源的配置中心Apollo。 ...
1. Pinpoint概述 Pinpoint是一个由韩国人编写的为大型分布式系统服务的链路跟踪平台,并提供大量链路跟踪数据分析汇总解决方案。自2012年7月开始开发,与2015年1月做为一个开源项目推出。 2. Pinpoint主要特性 分布式事务跟踪,跟踪跨分布式应用的消息。(了解源码可+求求: 1791743380) 自动检测应用拓扑,帮助你搞清楚应用的架构。 水平扩展以便支持大规模服务器集群。 提供代码级别的可见性以便轻松定位失败点和瓶颈。 使用字节码增强技术,添加新功能而无需修改代码。 3. Pinpoint优势 无入侵:采用字节码增强技术,新增功能无需修改代码 ...
1. Skywalking概述 Skywalking与2016年11月2日由国人吴晟在Github上传v1.0版本,用于提供分布式链路追踪功能,从5.x开始,成为一个功能较为完善的APM(Application Performance Management)系统,2019年4月17日从Apache孵化器毕业,正式成为Apache顶级项目。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。官方对自己介绍是专为微服务,云原生和基于容器(Docker,Kubernetes,Mesos)架构而设计。(了解源码可+WX:  haiwabbc) 2. Skywalking主要功能 ...
熔断 限流 重试 1. 限速路由器 限速在高并发场景中比较常用的手段之一,可以有效的保障服务的整体稳定性,Spring Cloud Gateway 提供了基于 Redis 的限流方案。所以我们首先需要添加对应的依赖包spring-boot-starter-data-redis-reactive(了解源码可+求求: 1791743380) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data ...
1. 注册中心 1.1 准备服务和注册中心 上篇主要讲解了网关代理单个服务的使用语法,在实际的工作中,服务的相互调用都是依赖于服务中心提供的入口来使用,服务中心往往注册了很多服务,如果每个服务都需要单独配置的话,这将是一份很枯燥的工作。Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spring Cloud Gateway 注册到服务中心,Spring Cloud Gateway 默认就会代理服务中心的所有服务,下面用代码演示。(了解源码可+求求: 1791743380) 在介绍Zuul的时候,我们用到了Eureka和producer,本次演示还是需要他们两个 ...
前面我们在聊服务网关Zuul的时候提到了Gateway,那么Zuul和Gateway都是服务网关,这两个有什么区别呢?(了解源码可+求求: 1791743380) 1. Zuul和Gateway的恩怨情仇 1.1 背景 Zuul是Netflix开源的一个项目,Spring只是将Zuul集成在了Spring Cloud中。而Spring Cloud Gateway是Spring Cloud的一个子项目。 还有一个版本的说法是Zuul2的连续跳票和Zuul1的性能并不是很理想,从而催生了Spring Cloud Gateway。 1.2 性能比较 网上很多地方都说Zuul是阻塞的,Ga ...
在分布式服务架构中,需要对分布式服务进行治理——在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用可以并行执行?…… 为此,分布式服务平台就需要提供这样一种基础服务——可以记录每个请求的调用链;调用链上调用每个服务的时间;各个服务之间的拓扑关系…… 我们把这种行为称为“分布式服务跟踪”。 1. 背景 现今业界分布式服务跟踪的理论基础主要来自于 Google 的一篇论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastruc ...
1. Zuul的核心 Zuul的核心是Filter,用来实现对外服务的控制。分别是“PRE”、“ROUTING”、“POST”、“ERROR”,整个生命周期可以用下图来表示。(将Eureka的自我保护模式打开,如果这里不开启自我保护模式,producer一停止服务,这 ...
前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个微服务框架已经完成了。(了解源码可+求求: 1791743380) 我 ...
前面我们聊了Spring Cloud Config配置中心,当我们在更新github上面的配置以后,如果想要获取到最新的配置,需要手动刷新或者利用webhook的机制每次提交代码发送请求来刷新客户端,客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用Spring Cloud Bus(国人很形象的翻译为消息总线,我比较喜欢叫消息巴士)可以完美解决这一问题。(了解源码可+求求: 1791743380) 1. Spring Cloud Bus Spring cloud bus通过轻量消息代理连接各个分布的节点。这会用在广播状态的变化(例如配置变化)或者其他的消息指令。Sp ...
1. 引言 上一篇我们聊了Spring Cloud Config 配置中心,并且和Github做了集成,我们的Server端是单机版的,任何单机版的服务都只能使用与测试环境或者自己做Demo测试,生产环境严禁使用单机服务,配置中心在整个微服务体系中都是及其重要的一个节点,尤其是在DevOps中自动扩容,如果配置中心宕机,那么所有的自动扩容都会失败。 所以这一篇我们聊聊配置中心的高可用,说到高可用,在springcloud体系中,是有注册中心的,那么,我们的配置中心也是一个服务,可不可以使用Eureka做服务的注册与发现呢? 答案是肯定的。 2. Serve端 我们将上一篇的Serve ...
随着分布式项目越来越大,勤劳的程序猿们会开始面临一个挑战,配置文件会越来越繁杂,虽然spring提供了一个鸡肋版的解决方案,spring.profiles.active,在大型的分布式项目体系中,聊胜于无吧,手动维护配置文件的痛苦,生产 ...
Global site tag (gtag.js) - Google Analytics