易雪寒
永远做更好的自己!
展开
-
SpringCloud学习之新一代网关Gateway实战体验(十五)
1.1SpringCloud Gateway 简介SpringCloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuu.原创 2021-11-27 00:11:02 · 145 阅读 · 0 评论 -
Spring Cloud Alibaba实战入门之Nacos注册中心(十四)
一、背景越来越多的读者在和我交流关于Spring Cloud Alibaba的种种事宜,甚至于在一次面试中,一半时间都在聊这个话题。所以,本着对技术钻研的热情,对Spring Cloud Alibaba进行了一番研究。在这里,并不想高谈阔论,也不想预言未来,只是挑选了几个从阿里巴巴中间件团队内脱胎出来的开源组件,对于解决实际业务问题有所裨益。现在,很明显的一个趋势就是:微服务。这个趋势的底层驱动力就来源于分布式系统的普及,而微服务的各个特性是如今大大小小的企业无法拒绝的诱惑。然后,用上了微服务的架构原创 2020-06-03 15:17:54 · 331 阅读 · 0 评论 -
Spring Cloud 和Spring Cloud Alibaba概述和比较(十三)
1、spring cloud概述SpringCloud是基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、原创 2020-06-03 13:27:51 · 9144 阅读 · 2 评论 -
SpringCloud学习之Sleuth服务链路跟踪(十二)
一、为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是...原创 2019-12-15 00:04:01 · 169 阅读 · 0 评论 -
SpringCloud学习之Stream消息驱动【自定义通道】(十一)
如果不清楚本篇内容的,请务必先去看完上一篇再看本篇,否则阅读起来可能会有部分障碍和困难;上一篇文章《SpringCloud学习之Stream消息驱动【默认通道】(十)》我们简单用自定义通道实现了消息发送和接收,但是用的是Stream给我们提供的默认Source,Sink,接下来我们要自己进行自定义,这种方式在工作中还是用的比较多的,因为我们要往不同的消息通道发消息,必然不能全都叫input,o...原创 2019-12-12 17:20:30 · 408 阅读 · 0 评论 -
SpringCloud学习之Stream消息驱动【默认通道】(十)
在实际开发过程中,服务与服务之间通信经常会使用到消息中间件,而以往使用了中间件比如RabbitMQ,那么该中间件和系统的耦合性就会非常高,如果我们要替换为Kafka那么变动会比较大,这时我们可以使用SpringCloudStream来整合我们的消息中间件,来降低系统和中间件的耦合性。一、消息中间的几大应用场景1、异步处理比如用户在电商网站下单,下单完成后会给用户推送短信或邮件,发短信和...原创 2019-12-12 16:39:50 · 368 阅读 · 0 评论 -
SpringCloud学习之Bus消息总线实现配置自动刷新(九)
前面两篇文章我们聊了Spring Cloud Config配置中心,当我们在更新github上面的配置以后,如果想要获取到最新的配置,需要手动刷新或者利用webhook的机制每次提交代码发送请求来刷新客户端,客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用Spring Cloud Bus(国人很形象的翻译为消息总线,我比较喜欢叫消息巴士)可以完美解决这一问题。1. S...原创 2019-11-27 17:54:45 · 308 阅读 · 0 评论 -
SpringCloud学习之Config分布式配置中心(八)
统一配置中心概述如果微服务架构中没有使用统一配置中心时,所存在的问题:配置文件分散在各个项目里,不方便维护 配置内容安全与权限,实际开发中,开发人员是不知道线上环境的配置的 更新配置后,项目需要重启 Spring Cloud Config就是我们通常意义上的配置中心。Spring Cloud Config-把应用原本放在本地文件的配置抽取出来放在中心服务器,...原创 2019-11-25 17:49:13 · 236 阅读 · 0 评论 -
SpringCloud学习之Zuul路由转发、拦截和熔断处理(七)
Spring Cloud Zuul服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它还具备了权限控制等功能。Spring Cloud Netflix中的Zuul就担任了这样的一个角色,为微服务架构提供了前门保护的作用,同时将权限控制这些较重的非业务逻辑内容迁移到服务路由层面,使得服务集群主体能够具备更高的可...原创 2019-11-25 13:07:38 · 599 阅读 · 0 评论 -
SpringCloud学习之Hystrix请求熔断与服务降级(六)
我们知道大量请求会阻塞在Tomcat服务器上,影响其它整个服务.在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败.高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险.Spring Cloud Netflix Hystrix就是隔离措施的一种实现,可以设置在某种超时或者失败情形下断开依赖调用或者返回指定逻辑,从而提高分布式系统的稳定性.生活中举个例子,如电力...原创 2019-11-22 17:20:27 · 185 阅读 · 0 评论 -
SpringCloud学习之Feign 的使用(五)
Feign 是一个声明式的伪RPC的REST客户端,它用了基于接口的注解方式,很方便的客户端配置,刚开始使用时还不习惯,感觉是在客户端写服务端的代码,Spring Cloud 给 Feign 添加了支持Spring MVC注解,并整合Ribbon及Eureka进行支持负载均衡。Feign的使用很简单,有以下几步:1、添加依赖2、启动类添加@EnableFeignClients 注解...原创 2019-11-21 13:15:40 · 314 阅读 · 0 评论 -
SpringCloud学习之Ribbon使用(四)
1、关于 RibbonSpring Cloud Ribbon 是基于 Netflix Ribbon 实现的一套客户端负载均衡的工具。Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一起。Ribbon 客户端组件提供一系列完善的配置项如连接超时、重试等。简单的说,就是在配置文件中列出 Load Balancer(简...原创 2019-11-22 11:03:59 · 149 阅读 · 0 评论 -
SpringCloud学习之手把手教你用IDEA搭建入门项目【番外篇】(一)
之前的文章里,我曾经搭建了一个Springcloud项目,但是那个时候我对于SpringCloud架构的很多组件不甚清楚,只是通过查找资料然后动手稀里糊涂的把一个项目成功搭建起来了,其中有很多不合理和不清楚的地方,所以现在我想重新搭建一个入门的SpringCloud项目,这是对我SpringCloud学习之路的致敬搭建环境:JDK8(或者叫Java1.8) IDEA ULTIMATE20...原创 2020-01-15 19:09:37 · 811 阅读 · 0 评论 -
SpringCloud学习之手把手教你用IDEA搭建入门项目(三)
本篇博客是承接上一篇《手把手教你用IDEA搭建SpringCloud入门项目(二)》,不清楚的请到我的博客空间查看后再看本篇博客,上面两篇博客成功创建了一个简单的SpringCloud项目,本篇博客主要是贴出项目的代码部分,方便读者更好的实战操作搭建一个属于自己的SpringCloud项目1)项目框架大体如下2)编写eureka-server模块的启动类pack...原创 2019-10-26 01:41:51 · 857 阅读 · 0 评论 -
SpringCloud学习之手把手教你用IDEA搭建入门项目(二)
本篇博客是承接上一篇《手把手教你用IDEA搭建SpringCloud入门项目(一)》,不清楚的请到我的博客空间查看后再看本篇博客1)先创建一个Eureka服务注册中心模块,用来作为服务的注册中心,点击项目右键,创建一个新的module2)SpringCloud是基于SpringBoot的,所以这里选择Spring Initializer创建一个新的SpringBoot模块...原创 2019-10-26 00:37:21 · 685 阅读 · 0 评论 -
SpringCloud学习之手把手教你用IDEA搭建入门项目(一)
SpringCloud简单搭建jdk:1.8开发工具:IDEA注:需要了解springcloud1、创建最简单的Maven项目1)开始创建一个新的项目2)创建一个空模板的maven项目,用来作为项目的框架,如图勾选后直接next3)给自己项目取一个自己喜欢的groupId和artifactId4)填上你的项目名,如果不改就直接finish吧5)IDE...原创 2019-10-25 23:56:54 · 1988 阅读 · 1 评论 -
SpringCloud学习之大纲总略(大纲篇)
微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?遗留的老系统需要如何考虑重构改造?有哪些坑需要我们注意?系统怎么在分布式服务下实现数据的一致性和服务的...原创 2019-11-22 10:25:56 · 520 阅读 · 0 评论