自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixiaohuai的博客

任何质变都来自于量变的积累。

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring Cloud Sleuth链路跟踪之使用RabbitMQ异步收集链路跟踪信息(学习总结)

一、简介在上一篇文章中,通过Spring Cloud Sleuth整合zipkin的时候,已经实现了通过Http方式来收集链路跟踪信息,除了使用http方式之外,还可以使用RabbitMQ等消息中间件来异步收集链路跟踪信息。结合Spring Cloud Stream可以使客户端将跟踪信息输出到消息中间件上,同时Zipkin服务端从消息中间件上异步收集这些信息。本章讲解通过RabbitMQ来收集...

2018-09-28 16:07:26 3111 3

原创 Spring Cloud Sleuth服务链路跟踪之入门篇(学习总结)

一、简介在微服务中,通常根据业务模块分服务,项目中前端发起一个请求,后端可能跨几个服务调用才能完成这个请求(如下图)。如果系统越来越庞大,服务之间的调用与被调用关系就会变得很复杂,假如一个请求中需要跨几个服务调用,其中一个服务由于网络延迟等原因挂掉了,那么这时候我们需要分析具体哪一个服务出问题了就会显得很困难。Spring Cloud Sleuth服务链路跟踪功能就可以帮助我们快速的发现错误根...

2018-09-27 17:05:59 8959

原创 Spring Cloud Bus消息总线(学习总结)

一、简介前面我们介绍了如何通过/refresh接口手动刷新配置文件内容,但是,当我们的系统中服务越来越多之后,维护这样的刷新清单将会变得非常繁琐麻烦,而且容易犯错。本章介绍使用Spring Cloud Bus消息总线实现配置文件的集群动态刷新。Bus消息代理中间件可以将消息路由到一个或多个目的地。二、准备工程【a】eureka-server: 服务注册中心,端口1111;【b】co...

2018-09-26 16:06:55 3057 1

原创 SpringBoot整合RabbitMQ之Fanout Exchange扇形(广播式)交换机(学习总结)

一、简介通过学习Dierect Exchange以及Topic Exchange,我们已经知道RabbitMQ无非就是创建相应的交换机、队列、以及将队列与交换机进行绑定,上面两种方式的交换机都需要指定相应的route key才能完成消息的分发。本章讲解的Fanout Exchange交换机其实是一种广播式的消息通信方式,只要某个队列与Fanout Exchange交换机进行了绑定,那么一条消息...

2018-09-23 23:19:34 6236

原创 SpringBoot整合RabbitMQ之Topic Exchange通配符交换机(学习总结)

一、简介Topic Exchange交换机也叫通配符交换机,我们在发送消息到Topic Exchange的时候不能随意指定route key(应该是由一系列点号连接的字符串,一般会与binding key有关联,route key的长度一般不能超过255个字节)。同理,交换机与队列之间的binding key也应该是点号连接成的字符串,当消息发送者发送信息到Topic Exchage交换机的时...

2018-09-22 10:34:58 8659 11

原创 SpringBoot整合RabbitMQ之Direct Exchange直连交换机(学习总结)

一、前言在总结Spring Cloud Bus消息总线的时候,需要用到RabbitMQ消息中间件,由于之前对MQ还不是很熟悉,所以花了一点时间研究了一下RabbitMQ。二、简介RabbitMQ 是一个消息中间件,以异步的方式处理消息,实现了与业务之间的解耦,同时还有消息分发,消息缓存等功能。RabbitMQ使用的是AMQP协议,全名是提供统一消息服务的应用层标准高级消息队列协议。默认...

2018-09-20 18:04:56 7810 1

原创 Spring Cloud Config分布式配置中心高可用及配置刷新(学习总结)

一、前言上一篇文章已经实现了Spring Cloud Config分布式配置中心的功能,我们已经可以通过Config Server获取Git远程仓库配置文件中的内容,但是在实际项目中,当服务实例数量比较多的情况下,每个服务单元都从配置中心获取配置信息,假如配置中心由于网络等原因挂掉了,这时候会导致那些服务实例请求失败等一系列问题。这时候可以考虑将配置中心做成一个微服务,注册到Eureka中,这...

2018-09-19 15:07:44 1051

原创 Spring Cloud Config分布式配置中心(学习总结)

一、简介在微服务中,每个功能模块其实都可以拆分成一个单独的服务实例,如果项目够大,必然会有很多服务单元,每个服务单元都有一份配置文件需要维护,这显得不太好维护,而且不方便协作开发。为了使服务实例的配置文件统一管理化,Spring Cloud Config提供了一套解决方案,建立一个配置服务中心,每个服务单元从config server中获取具体的配置文件,它支持配置服务放在配置服务的内存中(即...

2018-09-18 17:17:12 1908

原创 Java内部类详解

一、前言内部类指的是在一个类的内部定义一个类,主要有四种:成员内部类、局部内部类、匿名内部类以及静态内部类。以下通过具体代码对四种内部类做一个介绍 二、成员内部类成员内部类的定义位于另一个类的内部。成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。package com.wsh;/** * Created by weishihu...

2018-09-16 22:23:04 199

原创 Spring Cloud Zuul路由网关(学习总结)

一、简介Spring Cloud Zuul主要的功能是:路由跳转以及路由过滤,本文主要讲解了这两方面的内容。在实际项目中,zuul中可能也会有相对复杂的逻辑,通常在zuul前面还有一个nginx反向代理,前端直接访问nginx,让nginx给我们代理到网关服务,网关服务再路由到具体的服务提供者上。zuul默认集成了ribbon实现了负载均衡功能。二、准备工程a. zuul-eureka...

2018-09-15 21:54:15 848

原创 【React 】基于Antd Design的Upload图片墙组件封装

最近在统一UI组件库,基于项目的需求,封装了一个专门用来上传图片的控件,主要有以下一些功能:a. 可以动态配置保存的方式,可以上传到文档库、Redis缓存以及base64保存在数据库中;b. 动态配置允许上传多少张,超过限制不显示上传按钮;c. 动态配置允许上传图片的大小,超过限制大小不允许上传;d. 支持图片的预览以及删除;e. 支持在父组件中获取已上传的图片信息;f. ...

2018-09-14 12:26:30 10460 9

原创 Spring Cloud Hystrix Dashboard仪表盘 和 Turbine集群监控 (学习总结)

一、简介Spring Cloud Hystrix Dashboard是一个可以监控HystrixCommand的可视化图形界面,由于某种原因,如网络延迟、服务故障等,这时候可以借助dashboard提供的可视化界面监控各个Hystrix执行的成功率、调用成功数、失败数量、最近十分钟的流量图等等,根据这些数据我们就可以进行错误排查以及进行服务的优化等。Hystrix Dashboard只能对单个...

2018-09-14 11:40:07 1176

原创 Es6 filter()、map()、find()方法详解

一、简介a. filter(): 主要用于筛选过滤数组,返回符合筛选条件的数据,不会改变原数组。b. map():主要用于循环遍历数组,也可以根据某些条件筛选数据,不会改变原数组。c. find(): 主要用于查找数组的数据,只要查找到一条符合条件的数据,直接返回,不会再继续查找下去。没有找到符合条件的数据返回undefined。 二、使用详解a. filter()方法...

2018-09-14 10:33:44 4155 2

原创 Spring Cloud Hystrix服务容错 (学习总结)

一、雪崩效应“雪崩效应”: 因 '服务提供者' 的不可用导致 '服务调用者' 的不可用,并将不可用逐渐放大的过程二、Hystrix介绍Spring Cloud中服务之间的调用方式主要有两种,一种是Ribbon+RestTemplate,一种是Feign声明式服务调用,在实际项目中,为了服务高可用,一个服务通常会集群部署,运行多个实例, 由于网络原因或者服务自身原因,被调用的服务并不能保...

2018-09-11 17:45:44 619 3

原创 Es6使用详解

前言前端时候忙完项目,有两个星期的调整优化时间,最近在整理公司的统一开发者平台的技术文档,因为项目中使用的React,所以笔者看了一下阮一峰的EcmaScript入门这本书,对Es6语法以及一些新特性进行了梳理。以下为项目中一些常见的用法,仅供参考。一、 let命令用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。(块级作用域)基础用法示例:...

2018-09-11 16:52:11 1259

原创 Spring Cloud Feign声明式服务调用 (学习总结)

一、Feign介绍Feign是一个声明式的伪Http客户端,通过Feign可以实现服务间的相互调用,比如服务A调用服务B暴露的一些接口;同时Feign整合了Ribbon,所以Feign也可以实现服务的负载均衡调用。想要使用Feign也比较简单,定义一个通过注解@FeignClient()指定需要调用的服务的接口,启动类加上@EnableFeignClients开启Feign功能即可。二、准...

2018-09-10 16:31:06 9762 10

原创 Spring Cloud Ribbon客户端负载均衡(学习总结)

一、Ribbon介绍Ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。在实际项目中,我们可以通过Ribbon实现对服务的均衡调用,以防止某个服务实例出现突发问题的时候服务调用出现问题。 二、准备工作本章主要涉及三个项目模块,分别是SpringCloudEurekaServer服务注册中心,端口号为1111;SpringCloudRibbonServi...

2018-09-10 14:22:56 688

原创 Spring Cloud Eureka服务注册中心 多节点搭建(学习总结)

一、前言:本文主要搭建Spring Cloud Eureka服务注册中心(多节点), 本文基于SpringBoot 1.5.2,Spring CloudCamden.SR6版本编写,版本不一致可能会有差异。下面就学习总结记录一下:二、搭建Eureka-Server首先,引入相应的依赖pom.xml:<?xml version="1.0" encoding="UTF-8"?...

2018-09-07 17:35:48 17187 16

原创 Spring Cloud Eureka服务注册中心 单节点搭建(学习总结)

一、前言:本文主要搭建Spring Cloud Eureka服务注册中心(单节点),不过一般生产环境都是多节点负载均衡,形成一个服务注册中心集群,这样一个注册中心崩了不会影响整个系统的运行以及接口的调用。本文基于SpringBoot 1.5.2,Spring CloudCamden.SR6版本编写,版本不一致可能会有差异。下面就学习总结记录一下:二、新建一个Eureka-Server:...

2018-09-07 16:52:23 794

原创 SpringBoot 任务调度(开发总结)

一、背景:由于前段时间(一直在忙项目,现在才有空总结一下。。。。)搞微信开发,大家都知道,微信access_token是会过期的(7200s),所以要定时刷新,基于此需求,所以把定时任务调度整合进了项目。其实实现定时任务有几种方法,有spring原生定时器功能、quartz也可以实现,但quartz配置起来麻烦(要配置JobDetail,Trigger,Scheduler等等),本文主要采用T...

2018-09-06 17:50:35 2516

原创 Git基本操作(学习笔记)

Git 基本概念说明Working tree用户当前工作文件目录,就是我们平时编辑代码的文件目录。Index暂存区, 工作区(Working tree)中的修改add之后将会到暂存区(Index)中。Local repo本地仓库, 暂存区(index)的修改commit之后将会存入本地仓库(Local repo)。上面三者之间关系(如下图)工作区、版本库、暂存区原理图R...

2018-09-06 17:29:29 261

原创 React使用详解(学习笔记)

一、定义变量修饰符1、const:定义常量时用const name = “weishihuai”; //const表示常量,类似java的finalname = “hello weishihuai”; //编译出错,常量不能被修改,必须在定义时赋值2、var:现在一般放在方法外部使用var name ; //在方法中定义作为局部变量,在方法外定义作为全局变量name = “we...

2018-09-06 17:22:53 1865

zipkin-server jar.zip

spring cloud zipkin服务链路跟踪server相关jar包,下载完成之后使用java -jar zipkin-server-2.12.9-exec.jar方式运行,就能启动zipkin-server,不建议自己搭建zipkin-server

2020-08-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除