
微服务架构
程序猿DD
《Spring Cloud微服务实战》作者、腾讯云TVP、阿里云MVP
展开
-
Spring Cloud Hystrix的请求合并
通常微服务架构中的依赖通过远程调用实现,而远程调用中最常见的问题就是通信消耗与连接数占用。在高并发的情况之下,因通信次数的增加,总的通信时间消耗将会变的不那么理想。同时,因为对依赖服务的线程池资源有限,将出现排队等待与响应延迟的情况。为了优化这两个问题,Hystrix提供了HystrixCollapser来实现请求的合并,以减少通信消耗和线程数的占用。HystrixCollapser实现了在Hyst原创 2017-12-01 08:22:36 · 2557 阅读 · 1 评论 -
Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解
前情回顾:《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)》《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》上一篇,我们学习了如何在Nacos中创建配置,以及如何使用Spring Cl...原创 2019-01-30 09:15:18 · 1010 阅读 · 0 评论 -
Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
前情回顾:《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程:支持的几种服务消费方式》《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解》《Spring Cloud Alibaba基础教程:N...原创 2019-02-09 22:06:26 · 1245 阅读 · 0 评论 -
Spring Cloud Alibaba基础教程:Nacos配置的多环境管理
前情回顾:《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程:支持的几种服务消费方式》《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解》通过之前两篇对Nacos配置管理功能的介绍,已经学会...原创 2019-01-31 10:33:28 · 1293 阅读 · 0 评论 -
Spring Cloud Alibaba基础教程:Nacos的数据持久化
前情回顾:《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程:支持的几种服务消费方式》《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解》《Spring Cloud Alibaba基础教程:N...原创 2019-02-17 09:38:15 · 861 阅读 · 0 评论 -
Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系
这篇博文是临时增加出来的内容,主要是由于最近连载《Spring Cloud Alibaba基础教程》系列的时候,碰到读者咨询的大量问题中存在一个比较普遍的问题:版本的选择。其实这类问题,在之前写Spring Cloud基础教程的时候,就已经发过一篇《聊聊Spring Cloud版本的那些事儿》,来说明Spring Boot和Spring Cloud版本之间的关系。Spring Cloud Ali...原创 2019-03-03 10:16:13 · 5215 阅读 · 1 评论 -
Spring Cloud Alibaba基础教程:使用Sentinel实现接口限流
最近管点闲事浪费了不少时间,感谢网友libinwalan的留言提醒。及时纠正路线,继续跟大家一起学习Spring Cloud Alibaba。Nacos作为注册中心和配置中心的基础教程,到这里先告一段落,后续与其他结合的内容等讲到的时候再一起拿出来说,不然内容会有点跳跃。接下来我们就来一起学习一下Spring Cloud Alibaba下的另外一个重要组件:Sentinel。Sentine...原创 2019-04-10 14:23:39 · 1347 阅读 · 0 评论 -
Spring Cloud Alibaba到底坑不坑?
之前我发过一篇《说说我为什么看好Spring Cloud Alibaba》,然后这两天有网友给我转了这篇文章《坑爹项目spring-cloud-alibaba,我们也来一个》,问我的看法是怎么样的,聊天时候简单说了一下。今天在家休息,抽空整理一下内容,逐点说一下我的看法,主要还是觉得这篇文章博眼球的成分高一些,因为这篇文章的解读与之前其他某些自媒体发布的《Eureka 2.0 开源工作宣告停止,继...原创 2019-04-09 10:40:19 · 5917 阅读 · 8 评论 -
Spring Cloud Alibaba基础教程:Sentinel使用Apollo存储规则
上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则。Apollo是国内用户非常多的配置中心,所以,今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中。使用Apollo存储限流规则Sentinel自身就支持了多种不同的数据源来持久化规则配置,目前包括以下几种方式:文件配置Nacos配置ZooKeeper配置Apollo...原创 2019-04-21 17:08:00 · 790 阅读 · 0 评论 -
Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则
通过上一篇《使用Sentinel实现接口限流》的介绍,相信大家对Sentinel已经有了初步的认识。在Spring Cloud Alibaba的整合封装之下,接口限流这件事情可以非常轻易的整合到我们的Spring Cloud应用中。但是,通过上篇的整合,依然还不能完美的满足我们日常的生产需求。其中,非常重要的一点就是限流规则的持久化问题。不少细心的读者也在留言中提出了Dashboard中设置的限流...原创 2019-04-17 10:18:25 · 1048 阅读 · 1 评论 -
Spring Cloud Alibaba基础教程:使用Nacos作为配置中心
通过本教程的前两篇:《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)》我们已经学会了,如何利用Nacos实现服务的注册与发现。同时,也介绍了在Spring Cloud中,我们可以使用的几种不同编码风格的服务消费方式。接...原创 2019-01-28 22:28:26 · 8740 阅读 · 1 评论 -
Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)
通过《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBalancerClient接口来获取某个服务的具体实例,并根据实例信息来发起服务接口消费请求。但是这样的做法需要我们手工的去编写服务选取、链接拼接等繁琐的工作,对于开发人员来说非常的不友好。所以接下来,我们再来看看除...原创 2019-01-27 09:18:56 · 1420 阅读 · 0 评论 -
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少团队的支持;同时,由于Spring Cloud Alibaba中的几项主要功能都直指Netflix OSS中的重要组件,而后者最近频繁宣布各组件不在更新新特性,这使...原创 2019-01-18 09:13:06 · 5215 阅读 · 3 评论 -
Spring Cloud实战小贴士:Zuul统一异常处理(二)
在前几天发布的《Spring Cloud实战小贴士:Zuul统一异常处理(一)》一文中,我们详细说明了当Zuul的过滤器中抛出异常时会发生客户端没有返回任何内容的问题以及针对这个问题的两种解决方案:一种是通过在各个阶段的过滤器中增加try-catch块,实现过滤器内部的异常处理;另一种是利用error类型过滤器的生命周期特性,集中地处理pre、route、post阶段抛出的异常信息。通常情况下,我原创 2017-06-26 14:11:21 · 3849 阅读 · 0 评论 -
Spring Cloud实战小贴士:Zuul统一异常处理(一)
在上一篇《Spring Cloud源码分析(四)Zuul:核心过滤器》一文中,我们详细介绍了Spring Cloud Zuul中自己实现的一些核心过滤器,以及这些过滤器在请求生命周期中的不同作用。我们会发现在这些核心过滤器中并没有实现error阶段的过滤器。那么这些过滤器可以用来做什么呢?接下来,本文将介绍如何利用error过滤器来实现统一的异常处理。过滤器中抛出异常的问题首先,我们可以来看看原创 2017-06-26 14:11:17 · 5743 阅读 · 1 评论 -
Spring Cloud实战小贴士:Zuul处理Cookie和重定向
由于我们在之前所有的入门教程中,对于HTTP请求都采用了简单的接口实现。而实际使用过程中,我们的HTTP请求要复杂的多,比如当我们将Spring Cloud Zuul作为API网关接入网站类应用时,往往都会碰到下面这两个非常常见的问题:会话无法保持 重定向后的HOST错误本文将帮助大家分析问题原因并给出解决这两个常见问题的方法。会话保持问题通过跟踪一个HTTP请求经过Zuul到具体...原创 2017-06-26 14:11:09 · 9881 阅读 · 0 评论 -
Spring Cloud源码分析(四)Zuul:核心过滤器
通过之前发布的《Spring Cloud构建微服务架构(五)服务网关》一文,相信大家对于Spring Cloud Zuul已经有了一个基础的认识。通过前文的介绍,我们对于Zuul的第一印象通常是这样的:它包含了对请求的路由和过滤两个功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础;而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础原创 2017-06-26 14:11:13 · 1200 阅读 · 0 评论 -
《微服务》九大特性重读笔记
今天重读了Martin Fowler的《Microservices》,在此记录一下对九大特性的理解。服务组件化组件,是一个可以独立更换和升级的单元。就像PC中的CPU、内存、显卡、硬盘一样,独立且可以更换升级而不影响其他单元。在“微服务”架构中,需要我们对服务进行组件化分解。服务,是一种进程外的组件,它通过http等通信协议进行协作,而不是传统组件以嵌入的方式协同工作。服务都独立开发、部署,原创 2017-06-26 14:09:23 · 752 阅读 · 0 评论 -
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务架构。近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的。目前,Spring Cloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师、技术VP或者CTO在交流时,有原创 2017-06-26 14:08:58 · 738 阅读 · 0 评论 -
Spring Cloud构建微服务架构(二)服务消费者
在上一篇《Spring Cloud构建微服务架构(一)服务注册与发现》中,我们已经成功创建了“服务注册中心”,实现并注册了一个“服务提供者:COMPUTE-SERVICE”。那么我们要如何去消费服务提供者的接口内容呢?RibbonRibbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon,后续会介绍Feign的使用。Ribbon可以在通过客户端中配置的ribbo原创 2017-06-26 14:08:24 · 665 阅读 · 0 评论 -
Spring Cloud基础教程 - 程序猿DD
该教程内容不定时更新,如您对这些内容感兴趣,可以关注我的博客或微信公众号!本教程示例代码:GitHub:https://github.com/dyc87112/SpringCloud-Learning开源中国:http://git.oschina.net/didispace我的小密圈(深度交流与问答):https://t.xiaomiquan.com/zfEiY3v公益调试Eure...原创 2018-02-23 22:02:22 · 2246 阅读 · 0 评论 -
Spring Boot基础教程 - 程序猿DD
该教程内容不定时更新,如您对这些内容感兴趣,可以关注我的博客或微信公众号!本教程示例代码:GitHub:https://github.com/dyc87112/SpringBoot-Learning开源中国:http://git.oschina.net/didispace/SpringBoot-Learning欢迎点击项目右上方的Star按钮,给予支持!!如有问题,可联系:d...原创 2018-02-23 22:04:08 · 1383 阅读 · 0 评论 -
Spring Cloud Zuul中使用Swagger汇总API接口文档
有很多读者问过这样的一个问题:虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档中?之前给大家的回复都只是简单的说了个思路,昨天正好又有人问起,索性就举个例子写成博文供大家参考吧。如果您还不了解Spring Cloud Zuul和Swagger,建议优先阅读下面两篇,有...原创 2018-06-05 13:01:12 · 914 阅读 · 0 评论 -
Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!
在Nacos 1.0.0 Release之后,Spring Cloud Alibaba也终于发布了最新的版本。该版本距离上一次发布,过去了整整4个月!下面就随我一起看看,这个大家期待已久的版本都有哪些内容值得我们关注。版本变化之前在《Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系》一文中,我有提到过当前版本的Spring Clo...原创 2019-04-22 10:04:00 · 1330 阅读 · 0 评论