
SpringCloud
文章平均质量分 71
「已注销」
我就是我,是颜色不一样的烟火,我看我自己都冒火~~~
展开
-
SpringCloud微服务 分布式架构设计
前言最新项目比较忙,没有时间给自己充电,刚好在项目中有做过一些分布式架构设计也提供了具体的解决方案,现在整理一下,对我对分布式架构设计/应用/演变的理解。先看一张图:上图是我自己整理的一个微服务架构解决方案脑图,仅用于阐述我自己对微服务模式构建的分布式架构的理解与实际的应用场景说明。这个脑图我将持续维护并持续更新,不喜勿喷。有兴趣的可以互相学习或者来过过招。。。...原创 2019-07-23 09:34:47 · 3602 阅读 · 0 评论 -
Spring Cloud Netflix项目进入维护模式
今天照惯例去Spring Cloud 官方BLOG逛逛,发现了不一样的东西:传送门大概意思就是Spring Cloud Netflix 的大部分项目将进入维护模式。我们知道Netflix是Spring Cloud 微服务架构的核心组件,它包含了服务注册与发现(Eureka),服务高可用(Archaius、Hystrix、Ribbon、Zuul、Turbine等)。如此一来Spring Clo...原创 2018-12-26 10:51:16 · 1836 阅读 · 0 评论 -
SpringCloud微服务 之API网关设计(四)
写在前面:这是我最近整理的接口规范文档,无规矩不成方圆,为了app开发人员与后台接口开发人员更好的配合,我特意整理了这么一篇文档供大家参考学习,如有意见请在评论区留言谢谢。因部分内容涉及公司代码,我对本文档略有删减。接口规范说起来大,其实也就那么几个部分,接口规范、接口管理工具、接口文档编写、开发文档编写。以下将详细介绍,下面进入正文:接口规范文档具体内容如下:一:协议规范二:域名规范三:版本控制...原创 2018-12-25 14:15:53 · 676 阅读 · 0 评论 -
SpringCloud微服务 之API网关设计(三)
服务接口API限流 Rate Limit一、场景描述                     &a转载 2018-12-24 13:53:33 · 578 阅读 · 0 评论 -
SpringCloud微服务 之API网关设计(一)
前言由于我们使用的服务系统架构,所以没办法像传统单体应用一样依靠数据库的 join 查询来得到最终结果,那么如何才能访问各个服务呢?按照微服务设计的指导原则,我们的微服务可能存在下面的问题:服务使用了多种协议:因为不同的协议有不同的应场景用,比如可能同时使用 HTTP, AMQP, gRPC 等。服务的划分可能随着时间而变化。服务的实例或者Host+端口可能会动态的变化。那么,对于...转载 2018-12-11 11:22:10 · 11086 阅读 · 0 评论 -
SpringCloud微服务 之API网关设计(二)
1.什么是API网关? API网关是一个轻量的java http 接口组件,可无缝将普通的 Serive 方法转换成 http 接口。并从已下几点来达到提高开发效率与接口质量的目的。去掉mvc控制器,将http请求直接无缝接入JAVA服务接口统一出入参格式统一异常规范自动检测服务接口规范2.API网关 与普通Http接口实现流程对比2.1 普通H...转载 2018-12-21 15:36:55 · 346 阅读 · 0 评论 -
SpringCloud微服务之 微服务架构设计
前言设计微服务架构之前需要了解的:「Chris Richardson 微服务系列」微服务架构的优势与不足「Chris Richardson 微服务系列」使用 API 网关构建微服务「Chris Richardson 微服务系列」微服务架构中的进程间通信「Chris Richardson 微服务系列」服务发现的可行方案以及实践案例「Chris Richardson 微服务系列」事件驱动...转载 2018-12-04 10:48:28 · 330 阅读 · 0 评论 -
震惊!!!Spring Cloud Alibaba正式入驻Spring Cloud官方孵化器!!!
前言今天看到阿里加入SpringCloud的官方孵化器的消息着实大吃了一斤!!!其实听闻阿里准备加入SpringCloud官方孵化器的消息也有一段时间了,只是官方没有大动作,“入赘”的“嫌疑”无法被确定,而今“人赃俱获”:Spring Cloud Alibaba:官网中文版官网Spring Cloud Alibaba Dependencies(Maven Repositor...原创 2018-11-13 12:30:42 · 11029 阅读 · 0 评论 -
SpringCloud微服务 之hystrix(五)
前言本小节将学习一下Hystrix的Dashboard。Hystrix Dashboard是Hystrix的仪表盘组件,主要用来实时监控Hystrix的各项指标信息,通过界面反馈的信息可以快速发现系统中存在的问题。下面我们将通过案例来学习一下Hystrix-Dashboard。案例Eureka Server端编写(参考前例)。Eureka Client端服务提供方编写。项目...原创 2018-11-04 12:16:43 · 306 阅读 · 0 评论 -
SpringCloud微服务 之hystrix(四)
前言前一小节我们学习了如何在FeignClient中开启Hystrix的熔断机制,并实现了fallback方法。本小节我们将学习一下如何在FeignClient中开启Hystrix的熔断机制并以FallbackFactory地方式返回fallback方法。FallbackFactory VS Fallback使用FallbackFactory支持fallback回退可以在回退方法中做自定...原创 2018-11-04 10:56:50 · 323 阅读 · 0 评论 -
SpringCloud微服务 之Admin(二)
前言SpringBoot Admin的、在微服务架构下的应用原创 2018-11-09 11:43:31 · 191 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心实现(一)
前言最近公司要做一个新项目,可能会选择SpringCloud来做微服务架构,因而更可能会要面临实现分布式配置并制定相应的解决方案,因而提前做了解决方案。为什么选择携程Apollo?请看下图比较另外我选择携程Apollo的另一个原因是Apollo的对外依赖非常少,目前只有一个Mysql,因而稳定性方面而可以避开对外依赖过多而导致分布式配置心中处于潜在风险中。要知道配置中心应该是独立于任何应用...原创 2019-03-19 15:15:49 · 1293 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心实现(二)
前言本小结通过实际案例来学习如何通过Apollo Source 包来实现本地快速部署。如果你还未能成功体验过Apollo的Quick Start,请参考这里:SpringCloud微服务 Apollo分布式配置中心实现(一)案例第一步,下载Apollo最新Source包,传送门,目前我使用的是最新的版本-V1.3:下载apollo-adminservice-1.3.0-github....原创 2019-03-19 16:20:35 · 492 阅读 · 0 评论 -
SpringCloud微服务 gRPC(一)
SpringCloud集成gRPC原创 2019-07-22 17:40:19 · 1532 阅读 · 2 评论 -
SpringCloud微服务 Alibaba组件(一)
前言最近一段时间在新项目工作上花了很多时间去做驱动,导致原本学习计划被打乱,并且这样的情况还会一至持续下去,因而能够用来学习和独立思考的时间将会越来越少,所以我打算在接下来的一段时间内的学习将以精炼简洁为主,像类似入门级的学习过程我将逐步放弃(单不代表我不学习),只是洗完能够展示出更有价值的输出。最近参与的项目是一个在业务模式非常创新,可以说在全国目前都无首例的一种业务模式,我很看好这个项目...原创 2019-04-23 15:10:23 · 17659 阅读 · 0 评论 -
SpringCloud微服务 Stream集成RabbitMQ(二)
前言本小结学习一下Spring Cloud Stream 集成 Rabbit MQ 并实现业务场景中的消息分组与消息确认。在实现应用案例之前,我们先来了解一下一个经典的RabbitMQ的工作流程和一些特殊的业务场景:RabbitMQ经典工作流程业务场景一般业务场景Rabbit MQ比较常用的业务场景就是在使用生产者/消费者模式来实现通信时,生产者与消费者的实例都为唯一且一...原创 2019-04-09 17:00:28 · 808 阅读 · 0 评论 -
SpringCloud微服务 Stream集成RabbitMQ(一)
前言本小结我们将学习一下如何使用Spring Cloud Stream 来集成Rabbit MQ 并实现常规业务场景中的发布/订阅模式及其确认机制。在学习本小结之前我假设大家已对Spring Cloud Stream 和Rabbit MQ 有实际场景应用的能力,如果暂未掌握请自行学习,这里不赘述。通常而言,对于发布/订阅模式模式而言,消息的发送者一般只注重将消息推送到相应的Exchange ...原创 2019-04-09 10:57:08 · 19077 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心客户端获取配置(四)
前言本小结将学习一下Apollo Client如何监听配置中心配置信息修改事件的。在实际的业务场景应用中Apollo Client会需要时刻监听配置中心中的配置状态,比如配置信息的新增/修改/删除等操作时,需要作出相应的动作。案例使用 SpringCloud微服务 Apollo分布式配置中心客户端获取配置(三) 中的案例,启动配置中心。Apollo Client端实现项目...原创 2019-03-22 17:44:56 · 1329 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心客户端获取配置(三)
前言本小节我们将系统学习一下Apollo Client 从配置中心获取配置的几种实现方法。、首先声明一点,Apollo github wiki中有说明JAVA客户端如何获取Apollo配置中心的配置。获取配置的方法与场景大概如下:获取配置方式API整合Spring,然后通过Spring的IOC特性获取。获取配置属性获取单个属性值获取聚合对象属性值(一个对象的多个属性)...原创 2019-03-22 16:14:15 · 1760 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心客户端获取配置(二)
前言本小结我们学习一下如何通过在Apollo客户端设置指定配置环境,在客户端启动时从配置中心获取相应的配置信息。我们知道Apollo Client的Environment可以通过以下3种方式的任意一个配置:通过Java System Property可以通过Java的System Property env来指定环境在Java程序启动脚本中,可以指定-Denv=YOUR-ENVIRON...原创 2019-03-22 10:31:23 · 542 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心客户端获取配置(一)
前言本小结之前我们学习了如何定制开发与部署属于我们自己的分布式配置中心,以后的章节我们将陆续学习一下如何客户端获取配置中心中的配置信息。案例在apollo-portal的apollo-env-properties中做如下设置:local.meta=http://localhost:8080dev.meta=http://localhost:8080fat.meta=http://l...原创 2019-03-21 17:11:46 · 2237 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心实现(四)
前言前面三节分别介绍了如实使用携程Apollo并在本地部署,本小结将深入学习Apollo-如何搞定定制与本地部署。案例实现在本地使用IDE定制化开发,参考:SpringCloud微服务 Apollo分布式配置中心实现(三)定制化部署下载最新版本的Apollo Quick Start包,传送门在SpringCloud微服务 Apollo分布式配置中心实现(三)实现的案例基...原创 2019-03-19 17:39:58 · 902 阅读 · 0 评论 -
SpringCloud微服务 Apollo分布式配置中心实现(三)
前言本小结将 学习一下如何fork Apollo并做定制开发与部署。案例成功运行本小结案例需要准备环境和DB数据,具体参考前文,这里不做赘述。Fork Latest Apollo Version-传送门 并导入IDE(我的是STS)修改配置文件apollo-configservice.configservice.properties#Used for apollo...原创 2019-03-19 16:51:22 · 589 阅读 · 1 评论 -
SpringCloud微服务 之Admin(一)
前言介绍SpringBoot Admin原创 2018-11-09 11:42:35 · 539 阅读 · 1 评论 -
SpringCloud微服务 之Zuul(五)
前言微服务架构下Zuul构建网关的设计之总结与优化原创 2018-11-09 11:40:59 · 141 阅读 · 0 评论 -
SpringCloud微服务 之Ribbon(三-Customize)
前言上一节我们学习了在SpringCloud微服务中如何通过代码的方式自定义ribbon的均衡负载策略,本小节我们将学习一下如何通过配置的方式实现自定义ribbon的均衡负载策略。案例Eureka Server端编写:((参考前例))Eureka Client端服务提消费编写(多实例) 在多个端口启动多个实例 (参考前例)开启3个实例(8081、8083、8084)Eur...原创 2018-10-27 20:29:17 · 323 阅读 · 0 评论 -
进击的程序员
原创 2018-10-29 10:15:47 · 270 阅读 · 0 评论 -
SpringCloud微服务 之Feign(三-Customize)
前言上一小节我们学习了在SpringCloud微服务架构下使用自定义的FeignClient来完成各个模块间的通信。本小节来学习一下如何使用SpringCloud微服务架构下使用自定义的FeignClient来完成微服务模块之外的通信。本小节案例基于 SpringCloud微服务 之Feign(二-Customize)场景说明:在SpringCloud微服务架构下使用自定义的FeignCli...原创 2018-10-28 18:10:46 · 399 阅读 · 0 评论 -
SpringCloud微服务 之Feign(二-Customize)
前言上一节 我们学习了如何在SpringCloud微服务架构需下使用Feign(所有Feign的功能使用的是默认配置)来完成一个典型的服务消费者与服务提供者间的通信(基于Http Protocol)。同时我们也需要了解一下几点,SpringCloud对Fegin的封装后Feign使用的默认配置:Decoder feignDecoder:ResponseEntityDecoder(其中包...原创 2018-10-28 15:18:16 · 557 阅读 · 0 评论 -
SpringCloud微服务 之Ribbon(二-Customize)
前言上一节中我们学习了如何使用Ribbon做服务实例的负载均衡,并演示了使用Ribbon默认的轮询策略实现了Eureka服务负载均衡。本节学习一些如何自定义Ribbon的负载均衡策略。在微服务的一些场景中我们可能会遇到如下需求:A服务消费B服务时我们需要使用Ribbon的轮询策略来实现负载均衡,当A消费C服务时我们需要使用Ribbon的随机策略来实现负载均衡,当A消费D服务时我们需要使用Rib...原创 2018-10-09 22:46:20 · 496 阅读 · 0 评论 -
SpringCloud微服务 之Ribbon(一)
前言本节我们将了解下在使用了Eureka作为服务的注册与发现组件时是如何使用Ribbon来实现客户端均衡负载的。在前面的章节中我们了解到了服务注册与发现组件的机制中都基本 实现了均衡负载。服务注册与发现组件服务注册与发现组机制主要有两种一种是基于服务端服务注册与发现组机制,该类型的均衡负载的实现则是基于服务端的负载均衡,典型的如Consul+Nginx。另外一种是基于客户端服务注册与发...原创 2018-10-09 21:15:42 · 370 阅读 · 0 评论 -
SpringCloud微服务 之 Eureka(二)
前言上一章节中我们学习了服务注册与发现的不同类型的机制以及各自的优劣势,本节我们将通过时间里来学习一下在SpringCloud构建的为服务中如何使用Eureka来实现服务的注册与发现。...原创 2018-10-07 19:30:02 · 201 阅读 · 0 评论 -
SpringCloud微服务 之 Eureka(一)
前言本节我们将学习微服务中的服务的注册与发现机制。我们知道SpringCloud在微服务架构中对服务注册与发现的集成与封装使用Eureka。因而学习本小节需要对Eureka有纵向(什么是Eureka,Eureka提供了那些功能)和横向(同类型的服务注册与发现机制有哪些)了解。服务注册与发现机制不论是在微服务还是在分布式中都会牵涉到一个概念那就是服务的注册与发现。在现有的开源中有很多技术栈实...原创 2018-10-07 17:35:44 · 263 阅读 · 0 评论 -
SpringCloud微服务 之 Provider & Cosumer
前言本小节我们将进入学习SpringCloud的预热阶段既学习与理解微服务中的服务提供者和消费者。我们知道在微服务的架构体系中服务与服务间的通讯可以通过RestTamplate(Spring对RESTful API请求的一种简单封装)和Fegin(SpringCloug集成的声明式客户端,后面我们将学习到)。此处我们对本节案例中涉及到的一些技术栈或知识点不做细数,学习的基础前提是大家对Spr...原创 2018-10-07 16:16:00 · 995 阅读 · 0 评论 -
SpringCloud微服务 之 SpringCloud
前言本节我们将了解学习一下一些实现微服务的架构。现在主流的实现微服务的架构有Dubbo 和 SpringCloud,不过最终选择哪一个应需求而定,不过客观上来讲个人更喜欢SpringCloud。下面我们将介绍一下两者。Dubbo定义:Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝...原创 2018-04-23 15:17:56 · 443 阅读 · 0 评论 -
SpringCloud微服务 之Ribbon(四)
前言上一小节我们学习了如何在SpringCloud微服务架构中通过配置的方式来实现自定义ribbon均衡负载策略。本小节我们来学习一下如何在微服务架构下使某个服务节点失去Eureka的Ribbon均衡负载。首先说明一下在微服务架构下使某个服务节点失去Eureka的Ribbon均衡负载这个技术实现对某些特定的业务逻辑的实现是有非常大的帮助的。首先我们知道Eureka是自带Ribbon的均衡负载策...原创 2018-10-27 22:09:47 · 155 阅读 · 0 评论 -
SpringCloud微服务 之Feign(一)
前言本小节我们将开始学习一下SpringCloud封装好了的用于实现微服务节点间通信的工具–Fegin。其实关于微服务架构下各个模块(节点)间的通信方式其实有很多种,个人比较推荐使用的是SpringCloud封装好了的RESTful API调用工具,比如说RestTemplate(在之前的案例中有实用)和Fegin。其中个人比较喜欢的是使用Fegin应为Fegin是SpringCloud对Re...原创 2018-10-27 22:26:54 · 2283 阅读 · 0 评论 -
SpringCloud微服务 之Zuul(四)
前言微服务架构下Zuul构建网关的设计之Gateway API Ratelimite(限流机制)原创 2018-11-09 11:34:21 · 142 阅读 · 0 评论 -
SpringCloud微服务 之Zuul(三)
前言微服务架构下Zuul构建网关的设计之超时机制原创 2018-11-09 11:32:49 · 137 阅读 · 0 评论 -
SpringCloud微服务 之Zuul(二)
前言Zuul的基本使用FallBack+Filter原创 2018-11-09 11:30:35 · 161 阅读 · 0 评论