![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
详解SpringCloud全家桶:从RPC到微服务治理
文章平均质量分 83
Java工程师进阶必备的springcloud全家桶,详解其中最核心的rpc和微服务。
Java技术江湖
在下程序员黄小斜,前阿里Java工程师,4年码龄。 专注分享Java技术干货文,偶尔也吹水吐槽聊人生。
展开
-
Java工程师最常遇到的Spring Boot面试题,我帮你整理好了!
文章目录概述什么是 Spring Boot?Spring Boot 有哪些优点?Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?配置什么是 JavaConfig?Spring Boot 自动配置原理是什么?你如何理解 Spring Boot 配置加载顺序?什么是 YAML?YAML 配置的优势在哪里 ?Spring Boot 是否可以使用 XML 配置 ?spring boot 核心配置文件是什么?bootstrap.properties 和 applicatio转载 2021-05-15 17:13:28 · 553 阅读 · 0 评论 -
一份Netty最全面试题!让面试官难不倒你!
文章目录 1.Netty 是什么? 2.Netty 的特点是什么? 3.Netty 的优势有哪些? 4.Netty 的应用场景有哪些? 5.Netty 高性能表现在哪些方面? 6.BIO、NIO和AIO的区别? 7.NIO的组成? 8.Netty的线程模型? 9.TCP 粘包/拆包的原因及解决方法? 10.什么是 Netty 的零拷贝? 11.Netty 中有哪种重要组件? 12.Netty 发送消息有几种方式? 13.默认情况 Netty 起多少线程?转载 2021-05-13 16:58:20 · 861 阅读 · 0 评论 -
你应该知道的RPC原理
你应该知道的RPC原理 在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它团队要使用我们的新服务,我们的服务该怎么发布以便他人调用?下文将对这两个问题展开探转载 2021-05-12 19:20:12 · 402 阅读 · 0 评论 -
开启springcloud全家桶10:用SpringCloud Admin快速搭建你的监控中心
Spring Boot Admin实例生命状态实例的细节信息实例的信息清单Spring Boot Admin看到这几个页面是不是觉得还是蛮炫酷的,毕竟是Spring自家的产品,做的还是可以的。我们就来简易的搭一下这个监控中中心1. 新建Springboot项目<dependencies> <dependency> <groupId>org.springframew...转载 2021-05-12 18:18:58 · 520 阅读 · 0 评论 -
开启springcloud全家桶9:springcloud的分布式链路追踪利器 Sleuth
一、概述软件项目随着业务发展,一个单体的应用的问题会暴露出来,各个开发人员开发不同的功能模块,造成代码冲突,单体应用上线必须所有功能一起上线,风险较大。这时项目必然需要被拆分,拆分为一个个独立的应用服务,拆分后会导致系统服务间调用链路愈发复杂。此时,一个前端请求可能最终需要调用多个后端服务才能完成实现,当整个请求不可用出现问题时,我们是没有办法判断请求是由哪个后端服务引发问题,这时我们需要快速定位故障点,找到调用异常的服务,跟进一个请求到底有哪些服务参与,参与顺序是怎样,从而达到每个请求的步骤清晰可转载 2021-05-12 15:00:19 · 458 阅读 · 0 评论 -
开启springcloud全家桶8:配置中心的好搭档 Spring Cloud Bus 消息总线
Springboot: 2.1.6.RELEASESpringCloud: Greenwich.SR1如无特殊说明,本系列教程全采用以上版本前面两篇文章我们聊了Spring Cloud Config配置中心,当我们在更新github上面的配置以后,如果想要获取到最新的配置,需要手动刷新或者利用webhook的机制每次提交代码发送请求来刷新客户端,客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用Spring Cloud Bus(国人很形象的翻译为消息总线,我.转载 2021-05-12 14:46:13 · 295 阅读 · 0 评论 -
开启springcloud全家桶7:使用spring cloud config来统一管理配置文件
这篇文章主要介绍了详解使用spring cloud config来统一管理配置文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现微服务中的所有系统的配置文件的统一管理,而且还可以实现当配置文件发生变化的时候,系统会自动更新获取新的配置。其架构原理图大致如下:我们将配置文件放入git或者svn等服务中,通过一个Config Serv转载 2021-05-12 14:37:23 · 441 阅读 · 0 评论 -
开启springcloud全家桶6:Spring Cloud 服务网关 Zuul 快速入门
服务网关和Zuul为什么要有服务网关:我们都知道在微服务架构中,系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?难道要一个个的去调用吗?很显然这是不太实际的,我们需要有一个统一的接口与这些微服务打交道,这就是我们需要服务网关的原因。我们已经知道,在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求。比如:用户查看一个商品的信息,它可能包含商品基本信息、价格信息、评论信息、折扣信息、转载 2021-05-12 14:23:06 · 331 阅读 · 0 评论 -
开启springcloud全家桶5:探索负载均衡组件 Ribbon实现与原理
前段时间,笔者为了解决微服务多版本共存调用的问题,笔者深入调研了Ribbon,并将调研的内容记录了下来,以供后续查阅。Ribbon是Spring Cloud核心组件之一,它提供的最重要的功能就是负载均衡,和硬件负载均衡F5不同,它的负载均衡是基于客户端的,Zuul网关和Feign可以通过Ribbon轻松的实现服务的负载均衡,同时避免了与业务无关的冗余代码。在这篇文章中,笔者会讲解负载均衡请求调用的流程以及过程中涉及的一些重要接口。1. Ribbon示例下面的代码是利用ribbon实现负载均衡。转载 2021-05-12 14:08:27 · 438 阅读 · 0 评论 -
开启springcloud全家桶4:极简API调用方式 Spring Cloud Feign 总结
变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。Spring Cloud中, 服务又该如何调用 ?各个服务以HTTP接口形式暴露 , 各个服务底层以HTTP Client的方式进行互相访问。SpringCloud开发中,Feign是最方便,最为优雅的服务调用实现方式。Feign 是一个声明式,模板化转载 2021-05-12 13:59:39 · 653 阅读 · 0 评论 -
开启springcloud全家桶2:初探Hystrix原理与实践
背景分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。雪崩效应常见场景硬件故障:如服务器宕机,机房断电,光纤被挖断等。 流量激增:如异常流量,重试加大流量等。 缓存穿透:一般发生在应用重启,所有缓存失效时,以及短时间内大量缓存失效时。大量的缓存不命中转载 2021-05-12 12:55:08 · 355 阅读 · 0 评论 -
开启springcloud全家桶1:springcloud套餐简介
为什么需要学习Spring Cloud不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变得越来越复杂,单体结构的应用也会越来越复杂。这就会给应用带来如下的几个问题:代码结构混乱:业务复杂,导致代码量很大,管理会越来越困难。同时,这也会给业务的快速迭代带来巨大挑战; 开发效率变低:开发人员同时开发一套代码,很难避免代码冲突。开发过程会伴随着不断解决冲突的过程,这会严重的影响开发效率; 排查解决问题成本高:线上业务发现 bug,修转载 2021-05-12 12:29:13 · 583 阅读 · 0 评论 -
开启springcloud全家桶:springcloud常见面试题
微服务面试题一、Spring Cloud有哪些特点?Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。特点:1、约定优于配置。2、适用于各种环境。开发、部署PC Server或各种云环境如阿里云、AWS等。3、隐藏了组件的复杂性,并提供声明式、无xml的配置方式。4、开箱即用快速启动。5、轻量级组.原创 2021-05-12 12:20:24 · 1171 阅读 · 0 评论