spring cloud
昌杰的攻城狮之路
先付出才有收获
展开
-
Intellij Idea同一spring项目运行多个实例
使用idea工具开发时难免有同一项目运行多个的情况,而idea默认项目是以单例模式运行的若重复运行将会停止上一个进程再重新开启一个,那么如何让同一个项目已不同端口运行呢?在idea顶部toolbar的run actions中可以选择run/debug configuration来运行不同的项目,我以spring boot的项目为例,配置文件设置端口为8762。server.port=87...原创 2019-01-11 10:16:55 · 3478 阅读 · 0 评论 -
Hystrix微服务的容错处理、防雪崩效应、状态监控、隔离策略、回退日志
一、容错1、雪崩效应2、容错手段1.为网络请求设置超时2.使用断路器模式二、Hystrix实现容错1、整合Hystrix2、HyStrix的状态监控与深入解析3、隔离策略一、容错如果服务提供者相应非常缓慢,那么消费者对提供者的请求就会被强制等待,知道提供者相应超时。在高负载场景下,如果不作任何处理,此类问题可能会导致服务消费者的资源耗尽甚至整个系统崩溃。...原创 2019-07-09 17:24:04 · 844 阅读 · 0 评论 -
Eureka微服务注册与发现、Eureka集群、用户认证、自我保护模式、多网卡IP选择、健康检查
一、Eureka微服务发现二、编写Eureka Server三、编写Eureka Client1、服务提供者2、服务消费者四、Eureka Server集群五、将Eureka Client注册到Eureka Server集群中六、为Eureka Server添加用户认证七、Eureka的自我保护模式八、多网卡服务器的IP选择九、Eureka的健康检查一、...原创 2019-07-05 12:43:02 · 786 阅读 · 0 评论 -
Zuul微服务网关、容错与监控、Zuul路由端点、路由配置、Zuul上传文件、Zuul过滤器、Zuul异常处理、Zuul回退、Zuul聚合微服务
一、为什么要使用微服务网关二、Zuul1、编写Zuul微服务网关2、Zuul的Hystrix容错与监控3、Zuul的路由端点4、路由配置1.自定义指定微服务的访问路径2.忽略指定微服务3.忽略所有微服务,只路由指定微服务4.同时指定微服务的serviceId和对应路径5.同时指定path和URL6.使用正则表达式指定Zuul的路由匹配规则7.路由前缀...原创 2019-07-11 23:11:41 · 752 阅读 · 0 评论 -
Ribbon客户端负载均衡,自定义负载均衡规则
一、为消费者整合Ribbon二、自定义Ribbon负载均衡规则1、使用Java代码自定义Ribbon负载均衡规则2、使用属性自定义Ribbon负载均衡规则Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡...原创 2019-07-06 21:48:54 · 701 阅读 · 0 评论 -
Hystrix监控、Feign整合Hystrix监控
一、Hystrix监控除实现容错外,Hystrix还提供了近乎实时的监控。HystrixCommand和HystrixObservableCommand在执行时,会生成执行结果和运行指标,比如每秒执行的请求数、成功数等,这些监控数据对分析应用系统的状态很有用。使用Hystrix的模块 hystrix-metrics-event-stream ,就可将这些监控的指标信息以 text/even...原创 2019-07-16 14:09:01 · 777 阅读 · 0 评论 -
Dashboard可视化监控Hystrix数据
一、使用Hystrix Dashboard可视化监控数据前文讨论了Hystrix的监控,但都需要通过/hystrix.stream端点获得数据再以文字形式展示的。辨识度很低。接下来我们使用Hystrix Dashboard让数据图形化、可视化。1、创建项目eureka-client-hystrix-dashboard2、添加配置,pom.xml如下<?xml versi...原创 2019-07-16 14:09:45 · 361 阅读 · 0 评论 -
使用Turbine聚合监控数据
一、使用Turbine聚合监控数据使用/hystrix.stream端点监控单个微服务实例。然而,使用微服务架构的应用系统一般会包含若干微服务,每个微服务通常都会部署多个实例。如果每次只能查看单个实例的监控数据,就必须在HystrixDashboard上切换想要监控的地址,这显然很不方便。如何解决该问题呢?Turbine是一个聚合Hystrix监控数据的工具,它可将所有相关/hystrix...原创 2019-07-16 14:11:17 · 698 阅读 · 0 评论 -
Spring Cloud Config 统一管理微服务配置(Config Server、Config Client搭建、Config Server Git仓库配置详解)
一、为什么要统一管理微服务配置二、Spring Cloud Config介绍三、编写Config Server四、Config Server的端点五、编写Config Client六、Config Server的Git仓库配置详解1、占位符支持2、模式匹配3、搜索目录4、启动时加载配置文件一、为什么要统一管理微服务配置对于传统的单体应用而言,常使用配置文...原创 2019-07-16 22:15:36 · 842 阅读 · 0 评论 -
Feign实现声明式REST调用、自定义配置、继承、压缩、多参数请求
一、简介二、为微服务消费者整合Feign三、Feign多参数请求1、GET请求多参数URL2、POST请求多参数四、自定义Feign配置五、Feign继承六、Feign压缩一、简介上一节微服务之间调用是使用RestTemplate调用的,使用这种方法我们必须拼接字符串的方式构造URL @GetMapping("/hello/{name}") ...原创 2019-07-08 21:11:38 · 897 阅读 · 0 评论 -
Spring、Spring Boot、Spring Cloud之间的联系
在本系列文章开始前我们简单谈一谈Spring,Spring Boot,Spring Cloud之间的关系(技术描述等内容各位自行百科吧),让各位小白有初步认识(大佬请路过)。使用过Spring的伙伴都知道Spring进行web开发有一些非常令人头疼的地方:依赖太多,还需要注意各依赖之间的兼容关系 配置太麻烦,需要配置web.xml,Spring 容器,注解,数据库,连接池,资源映射...原创 2019-07-04 20:46:18 · 222 阅读 · 0 评论 -
spring boot多数据源整合mybatis通用mapper
本文将介绍spring boot下如何配置多数据源,持久层框架使用mybatis。附源码(开发工具idea,数据库连接池使用druid,项目管理工具maven)目录1、首先搭建项目double_db2、再按照以下结构配置项目目录结构3、配置application.properties4、整合mybatis的通用mapper4.1配置数据库连接池druid4.2 配置my...原创 2019-01-11 11:32:29 · 6349 阅读 · 13 评论 -
Nacos篇三 - 服务提供方和消费者
服务注册中心和服务发现的服务端都是由 Nacos Server 来提供的,我们只需要提供 Service 向其注册就好了。在“栗子”中我们依然使用standalone模式运行Nacos Server。本栗子使用spinrg cloud+nacos1、服务提供方1.1、创建maven工程,附上pom文件<?xml version="1.0" encoding="UTF-8...原创 2019-01-20 10:39:56 · 12767 阅读 · 4 评论 -
Nacos篇四 - 配置中心config
nacos作为替代eureka+config的好东西,当然少不了config的使用了,老规矩上栗子1、搭建项目,附上pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001...原创 2019-01-20 11:11:44 · 28852 阅读 · 12 评论 -
Nacos篇五 - Nacos集群(Linux下standalone模式和cluster模式)
Nacos支持三种部署模式单机模式 - 用于测试和单机试用。 集群模式 - 用于生产环境,确保高可用。 多集群模式 - 用于多数据中心场景。注:本文已Linux CentOS7系统为讲述如何部署单机模式(standalone)和集群模式(cluster);(虚拟机使用VMware)老规矩环境准备请确保是在环境中安装使用:64 bit OS Linux/Unix/Mac,推荐使...原创 2019-01-20 13:15:05 · 101242 阅读 · 23 评论 -
拜托!面试请不要再问我Spring Cloud底层原理
文章转自importNew:石杉的架构笔记(ID:shishan100),转载只为以后方便查看。概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,...转载 2019-03-03 14:48:07 · 248 阅读 · 0 评论 -
Hystrix详解(如何保护、限流、熔断、隔离、降级、源码分析)
目录1. 什么是Hystrix2. 何时需要保护3. 如何保护 4. 限流、熔断、隔离、降级5. 源码分析5.1 熔断器5.2 隔离5.3 核心运行流程6. 小结1. 什么是HystrixHystrix是Netflix的一个开源框架,地址如下:https://github.com/Netflix/Hystrix中文名为“豪猪”,即平时...转载 2019-03-27 22:49:27 · 4681 阅读 · 0 评论 -
如何解决通过网关无法调用本地注册微服务
相信不少人在工作中使用spring cloud微服务架构进行开发一个微服务时往往只需要关注这一个微服务的业务功能开发,但在实际情况是各个微服务相互关联,让你没办法很好的单服务模块开发,因此本文就向大家分享一个在工作中使用公司内网服务器作为eureka注册中心和zuul网关,然后在开发时将本地微服务注册到服务器注册中心,通过网关路由微服务的方案。一、确保服务器与本地网络互通第一步没的说,网络...原创 2019-03-28 16:06:45 · 5982 阅读 · 0 评论 -
Spring boot项目 运行jar包指定properties启动环境
在日常开发中经常会遇到一个项目在不同的服务器,不同的环境使用不同的配置文件,例如开发环境使用一个配置文件,测试环境使用另一个配置文件,生产环境再使用另一个配置文件,我们在运行spring boot项目打包的项目时则需要在启动jar包时通过命令行指定不同配置文件来启动这个项目。假设我们的spring boot项目中有三个配置文件分别为:#配置文件一application.yml#配置文...原创 2019-05-06 11:32:30 · 12049 阅读 · 0 评论 -
Config(手动、自动、局部刷新配置,配合Eureka使用,添加用户认证,Config Server集群)
很多场景下我们需要动态刷新配置。一、手动刷新配置1、复制项目config-client为config-client-refresh添加依赖,pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h...原创 2019-07-19 22:55:38 · 806 阅读 · 0 评论