专注写bug
你知道的越多,你不知道的也越多!
展开
-
使用nacos的配置中心,动态刷新已启动项目的bean
文章目录配置中心文件配置关于修改启动端口已启动的项目已启动的项目重启关于其他配置项的修改@bean的修改(无法变更)@Component的修改(可变更)@Component和@Bean的区别总结参考资料配置中心文件配置参考之前的文章:SpringCloud Alibaba学习(二)——Nacos服务注册和配置中心关于修改启动端口微服务的启动端口配置:nacos配置中心中,配置文件信息:已启动的项目如果项目已启动,此时修改端口信息,并不能重新加载项目。如下所示,启动项目后,项目的启动逻辑如原创 2021-01-26 18:12:35 · 2167 阅读 · 0 评论 -
SpringCloud深入学习——Spring Cloud Stream
一、前言这几天对Springcloud 2.x的配置文章做了大致的收尾工作,在看springcloud官方文档意外发现了一项遗漏的技能点,自己测试试验了下,感觉还是不错的技术,特此做一项学习笔记总结。二、现状企业中使用到消息中间件有很多种类,目前流行的消息中间件有 Rabbitmq、ActiveMq、RocketMq、Kafka(分布式)等。但是作为一只猿,不可能说把每种流行出来的MQ都学...原创 2020-05-07 12:12:46 · 362 阅读 · 0 评论 -
SpringCloud深入学习(十二)——分布式链路追踪Sleuth
一、分布式链路追踪出现的背景单一的springboot项目以前的业务需求为单一的一个逻辑。多个微服务组成的SpringCloud项目一个业务牵扯到很多的微小服务组成。在Springcloud做分布式开发,通常会在某个处理量大的微服务做高可用处理。但是出现错误信息时,定位出错点会是一个很麻烦的问题。某个微服务做了集群化部署,其中某个出问题,需要很大的劳力和时间去排查问题根源。...原创 2020-04-27 18:23:37 · 315 阅读 · 0 评论 -
SpringCloud深入学习(十一)——Config配置中心高可用配置和使用
一、简介实际开发中,我们必须要保证整个项目服务的高可用。一个微服务宕机,并不影响其他服务器的业务逻辑。为了实现高可用,我们必须将单个的微服务做集群,做服务注册与发现配置,保证某个服务宕机但不影响其他流程。二、高可用的搭建2.1、开发前的准备工作搭建注册中心 10000config server 注册至注册中心config client 注册至注册中心此处依旧使用之前的注册...原创 2020-04-21 17:12:43 · 315 阅读 · 0 评论 -
SpringCloud深入学习(十)——Config配置中心的配置和使用
一、Config配置中心简介为什么需要用到这项技术?1、运行期间,可以修改配置项。2、不同环境不同配置。3、可以将各个微服务的配置信息集中管理。4、自动刷新到项目运行的内存中。...原创 2020-04-17 18:18:56 · 366 阅读 · 0 评论 -
SpringCloud深入学习(九)——Zuul网关之路由、过滤器、容错回退的配置和使用
一、Zuul网关技术的由来原创 2020-04-03 18:57:52 · 364 阅读 · 0 评论 -
SpringCloud深入学习(八)——其他监控
一、原创 2020-03-25 18:44:47 · 203 阅读 · 0 评论 -
SpringCloud深入学习(七)——Hystrix开启监控以及应用(hystrix-dashboard和Turbine)
一、前言Hystrix 不仅提供了降级、限流、熔断保护等操作,他还有个最常用的技术-----监控。我们之前SpringCloud专栏博客中,对其有详细的讲解和使用配置等,从降级、限流、熔断等操作流程中,Hystrix其实默认也做了相关的监听操作。就如下图所示:每次流程的进行,都会有一个Metrics监控信息,这一节博客内容,我们就来探究Hystrix监控是什么技术和怎么来使用吧。二、...原创 2020-03-16 15:59:56 · 274 阅读 · 0 评论 -
SpringCloud深入学习(六)——Hystrix与Feign的整合,实现降级、超时、熔断的配置使用
一、回顾上一期我博客主要写了RestTemplate结合Hystrix实现降级、超时、限流、熔断的操作。《SpringCloud深入学习(五)——Hystrix的简介以及降级、限流、超时、熔断机制》其中针对Feign和Hystrix的结合使用,只简单说明了下失败请求fallback函数的使用问题,针对其他如降级、超时、限流、熔断等暂未作详细的说明。(本来是准备写在一篇博客中的,只是那一篇博...原创 2020-03-03 15:49:57 · 963 阅读 · 0 评论 -
SpringCloud深入学习(五)——Hystrix的简介以及降级、限流、超时、熔断机制
一、前言在分布式项目中,往往出现最多的情况是服务的雪崩现象,导致单独微服务的宕机或者整个项目的奔溃。[问:]什么是服务的雪崩效应?在微服务与微服务之间,通信操作如下所示:正常的服务A的操作,需要服务B和服务C的共同完成。但是在请求操作处理过程中,假如 服务B 在业务上处理过于繁琐,导致响应至服务A不够及时。原创 2020-02-28 16:34:04 · 622 阅读 · 4 评论 -
SpringCloud深入学习(四)——Feign的介绍和使用
一、前言之前我们的请求操作和负载均衡都是采取的RestTemplate做请求操作,如下所示的请求方式:String memberUrl = "http://app-bunana-product/product/getProduct ?name="+String.valueOf(name);String result = restTemplate.getForObject(memberUr...原创 2020-02-10 18:20:31 · 240 阅读 · 0 评论 -
SpringCloud深入学习(三)——Ribbon介绍和使用详解
一、ribbon简介Ribbon 是一个客户端负载均衡的组件,Netflix 开源的,其主要功能就是实现客户端的负载均衡。Ribbon 客户端组件提供了一系列完善的配置项,如连接超时、重试等配置。简单来说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中列出负载均衡后面所有的机器,Ribbon会自动的帮助你基于某种规则(轮询,随机等)去连接这些机器,我们也可以使用自定义Ribbon实现...原创 2020-01-09 18:07:07 · 461 阅读 · 1 评论 -
SpringCloud深入学习(二)——eureka的注册原理(心跳时间、刷新拉取时间、注册至注册中心等)
一、了解eureka如何进行负载均衡在我们之前的配置代码中,采取RestTemplate这个rest请求模板实现负载均衡操作,并且我们深刻体会到 @Bean @LoadBalanced //开启负载均衡 public RestTemplate restTemplate(){ return new RestTemplate(); }中 @LoadBalanced...原创 2020-01-07 18:04:15 · 1188 阅读 · 1 评论 -
spring cloud eureka 参数配置
eureka.client.registry-fetch-interval-seconds表示eureka client间隔多久去拉取服务注册信息,默认为30秒,对于api-gateway,如果要迅速获取服务注册状态,可以缩小该值,比如5秒eureka.instance.lease-expiration-duration-in-secondsleaseExpirationDurationIn...转载 2020-01-06 17:16:33 · 197 阅读 · 0 评论 -
SpringCloud深入学习(一)——eureka服务注册发现与安全、集群
一、前言1.1、普通项目集群配置的问题我们在实际的开发中,通常会面对高请求、高负载的情况,此时此刻我们首先想到的就是对我们的项目进行分布式部署操作,再加上一个nginx做反向代理,使用ip_hash或者weight等做负载均衡操作,但是大家可能会想到一些问题。问题描述:1、当我需求变更,是不是每个机器上部署的整个代码都需要做变更和重新部署操作?2、我的所有业务逻辑都是在同一个项目中进...原创 2020-01-03 18:09:31 · 431 阅读 · 0 评论 -
Spring Cloud 学习(十五)——验证config-service和config-client在github数据变更后是否能及时更新
一、简介在我前面两篇博客中,我是用的是方志朋大佬的github文件地址,这次我换成我自己的,方便修改文件内容进行操作。github创建仓库和向仓库中添加文件信息可以移步看我的专栏,点击这里。二、准备1、github上新增新的配置文件a、创建仓库b、本地clone仓库信息创建一个文件夹,存放配置文件c、追加文件推送至仓库中76519@DESKTO...原创 2019-09-18 11:26:08 · 229 阅读 · 0 评论 -
Spring Cloud 学习(十四)——config client工程的创建
一、简介前面我们学习了创建配置中心服务工程和使用url进行请求得到返回结果的操作,现在我们一同学习config client 项目的构建和获取github上指定文件的内容信息。二、创建config-client项目1、依赖引入<dependency> <groupId>org.springframework.cloud</groupId> ...原创 2019-09-18 10:37:47 · 254 阅读 · 0 评论 -
Spring Cloud 学习(十三)——配置中心Service的创建
一、config架构前面我们编写的像eureka注册中心、hystrix断路器、zuul网关的配置,都是采用的写死的方式,但是我忽略了一点东西,如果服务器的ip变更了,或者说我想把某个服务的端口信息变更,我是不是需要将服务kill掉,修改好配置文件再重新打包部署呢?这样太麻烦了,springcloud集成了一项技术spring cloud config ,他能够动态拉取像git、gith...原创 2019-09-17 19:30:32 · 163 阅读 · 0 评论 -
Spring Cloud学习(一)——CAP定理个人理解
一、定理大致说明CAP定理: 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。二、理解CAP一致性(C)Consistency:一致性,字面意思是数据的同步,必须讲究数据的一致。也就是说在分布式系统中,所有数据的备份,在同一时刻是否是同样的...原创 2019-09-01 21:11:37 · 451 阅读 · 1 评论 -
Spring Cloud 学习(二)——Eureka注册中心的搭建(2.0.2)
一、创建maven项目工程二、加入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</ve...原创 2019-09-01 21:30:14 · 230 阅读 · 0 评论 -
Spring Cloud 学习(三)——服务注册到Eureka注册中心上
一、创建子模块项目二、pom文件中添加依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</...原创 2019-09-01 21:47:40 · 234 阅读 · 0 评论 -
Spring Cloud 学习(四)——Eureka集群配置
一、配置要点单独的注册中心配置文件###服务端口号server: port: 10000###eureka 基本信息配置eureka: instance: ###注册到eurekaip地址 hostname: 127.0.0.1 client: serviceUrl: defaultZone: http://${eureka.inst...原创 2019-09-01 22:27:56 · 216 阅读 · 0 评论 -
Spring Cloud 学习(五)——Ribbon和nginx的区别
一、简单介绍ribbon是eureka依赖中本身就包含的,spring-cloud-starter-netflix-eureka-client中的spring-cloud-starter-netflix-ribbonnginx是作为服务器的负载均衡二、简单说明ribbon 采取从注册中心(eureka)上获取服务所对应的ip+端口号信息,保存本地的jvm中,每次请求来的时候,做...原创 2019-09-01 23:06:12 · 956 阅读 · 0 评论 -
Spring Cloud 学习(六)——Feign实现负载均衡
一、测试前的准备创建eureka注册中心,端口为10000 创建端口为8001的member子模块和端口为8000的member子模块,分别注册到指定的注册中心上二、创建Feign-Order项目模块1、导入pom依赖信息<parent> <groupId>org.springframework.boot</groupId> <a...原创 2019-09-02 10:46:58 · 142 阅读 · 0 评论 -
Spring Cloud 学习(七)——使用DiscoveryClient模拟负载均衡操作
一、测试前的准备1、创建eureka注册中心2、创建端口为8001的member子模块和端口为8000的member子模块,分别注册到指定的注册中心上二、创建服务的消费者1、引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>sprin...原创 2019-09-02 13:52:40 · 429 阅读 · 0 评论 -
Spring Cloud 学习(八)——使用hystrix服务保护
一、了解hystrix分布式系统中实际运行时,会出现各种问题,每个服务之间互相调用,并不能保证每个服务都能在需要得时候,进行正常的工作。如:1、服务2调用处理数据,需要使用到服务1、服务4等其他服务的请求,如果服务1或服务4宕机了,服务2调用时,则一直会处于等待状态中,导致线程的阻塞。2、服务间的调用超时、失败等。为了解决像这样的状况,则需要在超时或者失败时能及时进行处理。...原创 2019-09-03 21:36:19 · 119 阅读 · 0 评论 -
Spring Cloud 学习(九)——feign中使用hystrix断路器
一、准备条件1、创建注册中心,端口号为:10000。2、创建一个服务提供者member的子服务,端口为8000。3、创建一个服务消费者feign-order的服务,端口为8012,去请求member的服务。二、feign-order的服务的创建1、依赖引入<parent> <groupId>org.springframework.boot<...原创 2019-09-04 14:32:04 · 318 阅读 · 0 评论 -
Spring Cloud 学习(十)——使用ribbon方式,开启hystrix仪表盘
一、准备操作1、创建eureka注册中心,端口号为10000。2、创建member服务提供者,端口为8000。3、创建hytrix-order,服务消费者,端口号为:8011;二、编写仪表盘配置1、在之前博客中有ribbon-order的创建,只需要在pom中引入新的依赖<!-- 引入 hystrix dashboard(仪表盘) --> <depe...原创 2019-09-04 15:20:09 · 267 阅读 · 0 评论 -
SpringCloud——为eurekaWeb页面访问增加账户和密码(安全)
一、在eureka-service项目中引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE<...原创 2019-09-04 18:19:17 · 803 阅读 · 0 评论 -
Spring Cloud 学习(十二)——使用Zuul配置服务请求过滤
一、配置前的准备按照上一个配置进行《Spring Cloud 学习(十一)——使用Zuul网关实现反向代理》二、添加过滤拦截的配置文件package cn.linkpower.config;import javax.servlet.http.HttpServletRequest;import org.slf4j.Logger;import org.slf4j.LoggerF...原创 2019-09-05 14:47:01 · 302 阅读 · 0 评论 -
SpringCloud——Zuul网关集群配置
Zuul网关集群使用Nginx反向代理即可,保证每台网关配置数据相同。upstream backServer{ server 127.0.0.1:81; server 127.0.0.1:82; } server { listen 80; server_name www.linkpower-iot.cn; ...原创 2019-09-05 15:46:56 · 454 阅读 · 1 评论 -
Spring Cloud 学习(十一)——使用Zuul网关实现反向代理
一、网关的作用网关的作用,可以实现负载均衡、路由转发、日志、权限控制、监控等。二、网关和过滤器的区别网关是拦截所有服务器请求进行控制过滤器拦截某单个服务器请求进行控制三、Zuul与Nginx的区别Nginx是采用服务器负载均衡进行转发Zuul依赖Ribbon和eureka实现本地负载均衡转发相对来说Nginx功能比Zuul功能更加强大,能够整合其他语言比如lua脚本...原创 2019-09-05 11:11:44 · 627 阅读 · 0 评论 -
springcloud学习笔记一----初识服务注册与发现(Eureka)
一、简述个人对服务注册和发现的理解:在服务注册与发现中,有一个注册中心,当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上;另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,让后在实现本地rpc调用远程。二、对消费者和生产者大致理解生产者:提供对外的api接口消费者:使用生产者对外提供的api接口三、...原创 2019-04-26 17:43:15 · 256 阅读 · 2 评论