
SpringCloud
架构师速成记
从业10年,专注于数据治理、架构设计、以及生活导向的自媒体探索者;全网程序员粉丝10万+
展开
-
Nacos快速入门实战
1、背景:项目采用SpringCloud构建,注册中心和配置中心用eureka、config组件构建最近打算用Nacos替换上述两个组件(原因就不描述了)2、实战Nacos相关介绍文档很多,结合官网可快速入门官网地址:https://nacos.io/zh-cn/至于手册、源码、github等地址都可参考官网,本篇将从开发流程梳理下该组件的使用2.1 下载快速启动1...原创 2020-02-27 20:25:20 · 1809 阅读 · 1 评论 -
spring cloud zuul 实现动态路由(可以收藏保存)
spring cloud zuul(实现动态路由)路由 分为静态路由和动态路由下面介绍下动态的路由的实现方式:(一共2中,bus和缓存的方式,下面采用的是数据库的方式demo)pom 引入路由jar <dependency> <groupId>org.springframework.cloud</groupId> ...原创 2018-12-07 13:53:26 · 700 阅读 · 0 评论 -
Sping Cloud专栏:路由Gateway有效避免 Only one connection receive subscriber allowed问题
Only one connection receive subscriber allowed解决方案前言路由SpringCloudGateway做为代理层请求数据接口的时可能会遇到很多问题,如何有效的避免掉这些问题?需要一个踩坑人,然后把遇到的问题详细的汇聚成一篇篇的文档展现给开发者,大家好,我就是那个“踩坑人”,也立志于汇聚有效解决方案,帮助大家。...原创 2018-12-27 15:32:23 · 9825 阅读 · 20 评论 -
Spring Cloud 升级Finchley.SR2稳定版本详细方案(双12福利)
升级攻略1.升级必读 当我们决定升级SpringCloud的时候,首先要考虑的第一个问题是什么?自然不用说,那肯定是SpringCloud的主版本的问题,是要升级到什么版本,是F版还是G版本。这里给几点建议(亲采坑经验)企业开发用Finchley.SR2(稳定版...原创 2018-12-11 21:19:28 · 7689 阅读 · 6 评论 -
SpringCloud 极简入门 | 微服务与SpringCloud概念和组件最全集锦,第一讲必须了解你是谁?
前言:刚过完SpringBoot专栏基础入门课程,还没来及休息,马上就开启SpringCloud系列,科技发展如此迅速,你怎可停止脚步,奋斗吧,我的小伙伴。没有接触SpringBoot基础的可以可参考相关文章:今日头条:https://www.toutiao.com/i6641535440484565508/或者百度搜索:“LP框架”找到SpringBoot相关实战文章(视频和...原创 2019-01-04 01:00:19 · 651 阅读 · 0 评论 -
SpringCloud极简入门 | 第一讲: 服务的注册与发现Eureka(F版本)
前言:上一章讲了SpringCloud相关概念,本章将介绍注册中心(Eureka)和生产者之间的关系,并提供一个demo最白话的语言讲解:生产者我们可以看成一个卖东西的小商家 ,商家的产品向外卖为什么还需要注册中心呢?我们可以把注册中心理解成某东或者某宝,我们购物的时候去注册中心购买是不是方便很多呢。(自然这只是一方面,像统一管理、高可用、易负载等等)那我们deome开始,快速...原创 2019-01-04 20:59:55 · 544 阅读 · 0 评论 -
SpringCloud极简入门 | 第二讲: 服务消费者通过注册中心调用生产者(方式一:RestTemplate、Ribbon)(F版本)
开篇点题:上篇讲到小商家(生产者)注册到某宝或者某东上(注册中心),那作为消费者的我们如何调用的呢?很简单下载个app登陆账号,然后选购商品之后付款等待快递就ok了....可是..可是,打断以下,那我程序怎么调用生产者的接口呢?方案一:RestTemplate+Ribbon方案二:Feign的方式,对就是这个spring-cloud-starter-openfeign对...原创 2019-01-05 00:40:31 · 709 阅读 · 0 评论 -
SpringCloud极简入门 | 第三讲: 消费者调用生产者,最优方案Fegin(F版本)
开篇点题上次讲到(第二讲)程序怎么调用生产者的接口,汇总了2种方案方案一:RestTemplate+Ribbon方案二:Feign的方式,对就是这个spring-cloud-starter-openfeign下面我们来看第二种Tips:Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特...原创 2019-01-05 01:11:21 · 2148 阅读 · 0 评论 -
SpringCloud 极简入门 | 第四讲 :FeignClient中熔断机制Hystrix ,实战经验篇(必看)
前情回顾上章节我们讲了消费者调用生产者的两种方案。调用过程中出现异常或者服务不可用怎么办呢?管它呢,直接返回给客户错误信息....这个?这个?这样做貌似不是一个合格程序员做的事情吧,我们应该遵循友好性原则,友情提示下。那这就是本篇的主题FeignClient中使用熔断机制Hystrix进行服务熔断友情提示小插曲说来也惭愧,项目弄了3个月了刚开始也是集成了熔断机制的,...原创 2019-01-05 11:47:55 · 6555 阅读 · 1 评论 -
SpringCloud极简入门|zuul智能路由回退、认证、转发功能demo 第五讲
开篇点题 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。本章将讲解zuul(路由)这个组件,希望大家可以有个简单的入门。Zuul简介Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/...原创 2019-01-06 23:18:24 · 1741 阅读 · 0 评论 -
SpringCloud极简入门|zuul 过滤器修改转发的url,困扰很久的功能终于实现了 第6讲
前情回顾上一节(第5讲),我们讲解了zuul的基本配置,如下链接SpringCloud极简入门|zuul智能路由回退、认证、转发功能(五):https://www.toutiao.com/i6643405381466849800/本章知识点很重要!很重要!很重要!,真的很重要,网上资料不是很多,所以建议收藏下转发动态路由设置使zuul变得很灵活,但是网上的资料大多是基于动态配置...原创 2019-01-07 21:30:31 · 3648 阅读 · 1 评论 -
SpringCloud极简入门|配置中心入门spring cloud config 第7讲
一、 Spring Cloud Config简介 微服务要实现集中管理微服务配置、不同环境不同配置、运行期间也可动态调整、配置修改后可以自动更新的需求,Spring Cloud Config同时满足了以上要求。Spring Cloud Config 分为Config Server和Config Client两部分,是一个可以横向扩展,集中式的配置服务器, 默认使用Git存储配置内容。Sp...原创 2019-01-09 00:15:25 · 331 阅读 · 0 评论 -
SpringCloud认证和鉴权的6种方案
认证和鉴权SpringCloud认证和鉴权方案开始我们接触的时候权限认证 无从下手,但是当接触之后会发现 权限认证时一件很简单的事情,但是我们 方案众多又该如何选择呢,下面会分别对每种方案进行简单的阐述,有问题或者不明白的可以私信或者下方留言,一起讨论含义认证:简单来说,认证这个用户是谁。鉴权:简单来说,就是了解这个用户能做什么事情本篇章介绍如下几种方式1.单体应用...原创 2019-01-26 23:41:49 · 42256 阅读 · 7 评论 -
SpringCloud极简入门|Spring Cloud Gateway 的全局异常处理 (8)
篇章要点本文将介绍Spring Cloud Gateway如何处理全局异常,统一处理经过路由的异常(返回前端json格式)场景描述 新建 路由Gateway模块:8100和 生产者模块8012(有个test方法)正常流程访问http://localhost:8100/api8/test ,此时路由转发返回正常数据但是,但是,如果此时生产者宕机了(假如哈) ,路由 不配置异常...原创 2019-02-21 16:08:41 · 2565 阅读 · 3 评论 -
Spring boot 两种热部署方式 springloader 和 devtools
什么是热部署? 热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。在平时编写代码的时候,你会发现我们只是简单把打印信息改变了,就需要重新部署,如果要改变这样的方式,就需要用到热部署springloaded。使用方式,在项目中的pom.xml中plugin里添加依赖:<dependencies> <!--springloaded hot de...翻译 2018-12-07 11:23:25 · 355 阅读 · 0 评论 -
spring cloud gateway(实现限流)
spring cloud gateway(实现限流)限流一般有两个实现方式,令牌桶和漏桶令牌桶是初始化令牌(容器)的个数,通过拿走里边的令牌就能通过, 没有令牌不能报错,可以设置向容器中增加令牌的速度和最大个数漏桶是向里边放入请求,当请求数量达到最大值后,丢弃,漏桶中的数据以一定速度流出,没有则不流出令牌桶实现方式如下:pom<d...原创 2018-12-06 17:33:30 · 3462 阅读 · 0 评论 -
IDEA快速构建子模块
新增模块步骤选中要操作的模块:File-》new-》modulespring initializr可复制模块名称:spring-cloud-eureka-two-003勾选相应jar更正下面位置构建模块成功 ...原创 2018-10-27 17:14:55 · 1551 阅读 · 0 评论 -
springboot(二十):使用spring-boot-admin对spring-boot服务进行监控
Actuator提供了对单个Spring Boot的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期。但是这样监控也有一些问题:第一,所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的Json信息不方便运营人员理解;第二,如果Spring Boot应用集群非常大,每个应用都需要调用不同...转载 2018-10-27 22:17:45 · 443 阅读 · 0 评论 -
SpringCloud:Eureka配置项集锦
解决不可剔除配置(开发环境) eureka server配置:eureka: server: enable-self-preservation: false #关闭自我保护 eviction-interval-timer-in-ms: 4000 #清理间隔(单位毫秒,默认是60*1000) eureka client配置:eureka...原创 2018-11-09 16:44:26 · 194 阅读 · 0 评论 -
axios 发 post 请求,后端接收不到参数的详细解决方案
问题描述 :axios post 请求或者get请求后接收不到参数后端接收设置: @RequestParam @RequestBody设置的原因 由于spring的RequestParam注解接收的参数是来自于requestHeader中,即请求头,也就是在url中,格式为xxx?username=123&password=456,而RequestBody注解接收的参数则是...原创 2018-11-05 11:39:10 · 11470 阅读 · 0 评论 -
SpringCloud:Feign调用超时解决方案
解决消费者调用超时报错的问题(调试的时候 用的到)线上环境酌情处理配置 共三种方案:可选其中一种应用1、修改超时时间hystrix: command: default: execution: isolation: ...原创 2018-11-08 09:41:04 · 8683 阅读 · 1 评论 -
SpringCloud :zuul 传递 header
Zuul向子系统传递参数(header)可选用下面方式网关RequestContext ctx = RequestContext.getCurrentContext(); ctx.addZuulRequestHeader("original_requestURL",request.getRequestURL().toString());ctx.addZuulRequestHea...原创 2018-11-08 09:51:39 · 8050 阅读 · 2 评论 -
数据交换平台-初步设计
数据交换平台-初步设计V0.1-Bate初步设计架构图系统主要分为 数据交换服务(DataCenter)和前置交换系统。数据交换服务:主要以API接口方式对外提供服务前置交换系统:主要管理API接口以及系统设置,所有数据以Jsonp方式从DataCenter系统获取,可选用前后端分离方式增加开发效率。 承接上图:宏观...原创 2018-11-11 22:27:42 · 2563 阅读 · 0 评论 -
SpringCloud:注册中心Eureka的 Rest Api列表详解
可以通过API接口监控和管理服务的提供者:1.展示所有的提供者的注册信息:http://localhost:7001/eureka/apps返回结果如下<application><name>SPRING-CLOUD-PRODUCTER2-002</name><instance><instanceId>DESKTO...原创 2018-11-08 18:16:20 · 7853 阅读 · 0 评论 -
SpringCloud微服务常见问题汇总
1. Eureka能在同一台机器上启动多个吗?【集群环境】当然可以,但是一定要保证各个Eureka的hostname不同,一种办法是常用的配置hosts文件,还有一种,是使用当前机器IP、127.0.0.1和localhost分别作为三个Eureka的hostname,事实证明也是可以的。但是如果你使用127.0.0.1或localhost,注意一定要设置prefer-ip-address: ...原创 2018-11-14 15:07:37 · 2561 阅读 · 0 评论 -
SpringBoot 应用程序启动过程
概述说到接触 SpringBoot 伊始,给我第一映像最深的是有两个关键元素:对照上面的典型代码,这个两个元素分别是:@SpringBootApplication SpringApplication 以及 run() 方法关于 @SpringBootApplication 注解的剖析已经在上文:《SpringBoot 中 @SpringBootApplication注解背后的三...翻译 2018-11-16 15:28:24 · 174 阅读 · 0 评论 -
springcloud:config配置中心(多配置文件引入)
解决客户端引入多个文件问题。比如我一个服务需要加载公共的配置(数据库/redis连接),还要加载私有配置,我希望把他们放两个私有文件中分别加载。可是发现client只会读取bootstrap.properties中配置的spring.cloud.config.name相应的配置。如何解决这个问题?我遇到的时数据库的统一配置(同理)解决方案:方案一:(未尝试)config cli...原创 2018-11-25 19:07:30 · 8048 阅读 · 3 评论 -
Spring Cloud Config配置中心(内网实用版native)
Native本地配置文件简介在接触微服务的时候就了解到config可以配置集成svn、git、DB、缓存数据库等,同时也支持修改配置无需重新启动等强大功能。然则,我们的现实是我们是内网,给客户部署的无需svn 、git等,同时热加载配置文件也可以暂时不采用(需要引入其他的组件,对于部署 也就增加的运维时间成本) ...原创 2018-11-27 10:02:29 · 12196 阅读 · 3 评论 -
SpringCloud Greenwich.M3 版本组件汇总
因为之前用的springcloud D版本的,版本比较低了,打算对springcloud做下升级决定用Greenwich.M3,下文会列出常用的组件和升级过程中遇到的问题。以下模块已作为 Greenwich.M3 的一部分进行了更新:MODULE VERSION ISSUES Spring Cloud Greenwich.M3 Spring Clo...原创 2018-12-03 14:39:25 · 2816 阅读 · 0 评论 -
Spring Boot 2.x 新特性总结及迁移指南(转)
这一篇文章主要讲解 Spring Boot 2.x 与 1.5.x 的区别,2.x 主要更新了什么东西,以便对 Spring Boot 2.x 有一个详细的了解。本文讲的 1.x 指的是 1.5.10, 2.x 指的是 2.0.0。 配置变更 在 2.x 中废除了一些 1.x 中的配置,并增加了许多新配置,详细请查看以下链接中的变更表格。https://github.com/s...转载 2018-12-12 17:02:57 · 308 阅读 · 0 评论 -
Spring Boot 2下使用Feign找不到@EnableFeignClients的解决办法
最近在实践Spring Boot 2+Spring Cloud(Finchley.M9),在用到Feign的时候发现@EnableFeignClients注解开不了,独立使用Feign是可以的,但就是开启不了Spring对Feign的支持.经过一番摸索终于把问题解决了,在这里分享一下解决方案和思路.解决思路写得较繁琐,可以选择性阅读,结论和解决方案写在前面0. 结论和解决方案Spring C...转载 2018-10-22 00:29:30 · 4838 阅读 · 0 评论