9 liaokailin

尚未进行身份认证

简朴的青春 淡雅的年华

等级
博文 31
排名 1w+

如何构建高可用的分布式系统

在公司做了一次高可用的分享,由于keynote的内容为大纲,特此加点注释说明,分享给大家,水平有限,欢迎拍砖~~分布式服务要素        分布式服务主要考虑如下几点:性能主要考虑指标:响应时间,并发数,吞吐量常用的手段压缩,对传输数据进行压缩(类似合并js,压缩图片

2017-03-25 23:18:46

spring boot实战(第十五篇)嵌入tomcat源码分析

嵌入tomcat源码分析在启动springboot工程时利用@SpringBootApplication注解,该注解启动@EnableAutoConfiguration自动配置,加载META-INF/spring.factories文件#AutoConfigureorg.springframework.boot.autoconfigure.EnableAutoConfiguration=\

2016-08-21 21:53:15

zipkin

zipkinzipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。architecture如图,在复杂的调用链路中假设存在一条调用链路响应缓慢,如何定位其中延迟高的服务呢?日志:通过分析调用链路上的每个服务日志得到结果zipkin:使用zipkin的webUI可以一眼看出延迟高的服务如图所示,各业务系统在彼此调用时,将特定的跟踪消息传递至zipkin,

2016-07-31 11:18:51

consul(第二篇)consul Ops

consulOpsconsulclient通过下面的命令可以创建consulclientnohupconsulagent-data-dir/tmp/consul-node=liaokailin-bind=192.168.21.48-join=120.76.145.187&node指定client节点名称bindclient绑定的ipjoin指定加入到的consul

2016-06-08 12:16:17

consul(第一篇)consul 入门

consul入门consul是什么consul包含多个组件,从整体上看可以理解为一个服务发现、配置的工具,包含一下几个特点:服务发现(ServiceDiscovery):客户端通过consul提供服务,其他客户端可以通过consul利用dns或者http发现依赖服务健康检查(HealthChecking):consul提供任务的健康检查,可以用来操作或者监控集群的健康,也可以在服务发现时

2016-06-01 21:31:37

springcloud(第九篇)netflix zuul

netflixzuulintroductionzuul用来提供动态路由、监控、授权、安全、调度等等的边缘服务(edgeservice)ZuulFilterZuulFilter是Zuul中核心组件,通过继承该抽象类,覆写几个关键方法达到自定义调度请求的作用,这里filter不是javaweb中的filter,不要混淆.newZuulFilter(){

2016-05-28 17:35:53

springcloud(第八篇)springcloud feign

#springcloudfeignintroductionnetflixfeign是一个类似retrofit进行http调用框架,Feignmakeswritingjavahttpclientseasier使得编写httpclient代码更加简单netflixfeign直接给出一段简单的案例packagecom.lkl.netflix.feign;importfeign

2016-05-21 13:28:01

springcloud(第七篇)springcloud ribbon with eureka

springcloudribbonwitheurekaintroduction在上一篇中阐述了ribbon的基本用法,但是可以发现服务列表是通过配置得来的,实际情况通常是由负载均衡+服务发现来实现的,通过服务发现获取服务列表,负载均衡通过rule选择要调用的服务。服务发现可以通过eureka来实现,后期会讲解利用consul做服务发现。eurekadiscoveryserviceeu

2016-05-21 12:24:36

springcloud(第六篇)springcloud ribbon

springcloudribbon简介ribbon用以实现负载均衡;实现软负载均衡,核心有三点:服务发现,发现依赖服务的列表服务选择规则,在多个服务中如何选择一个有效服务服务监听,检测失效的服务,高效剔除失效服务netflixribbon一个简单的demo配置文件:#Maxnumberofretriesonthesameserver(excludingthefi

2016-05-10 12:26:30

springcloud(第五篇)springcloud turbine

springcloudturbine简介turbine是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过turbine来监控集群下hystrix的metrics情况,通过eureka来发现hystrix服务。netflixturbine使用官方给定的war放入tomcat中运行,修改turbine-web-1.0.0/WEB

2016-05-08 09:56:22

springcloud(第四篇)springcloud hystrix

springcloudhystrix简介hystrix通过服务隔离、熔断(也可以称为断路)、降级等手段控制依赖服务的延迟与失败。netflixhystrix本篇中主要讲解对springcloud对hystrix的集成,至于如何单独使用hystrix可以参考我分享的pdf.springcloudhystrix引入依赖<!--hystrix--><dependenc

2016-05-07 18:35:21

springcloud(第三篇)springcloud eureka 服务注册与发现

springcloudeurekaeureka用以服务发现、服务注册,比较流行的有consul简介eureka为netflix开源软件,分为三个部分:eureka服务:用以提供服务注册、发现,已一个war的形式提供http://search.maven.org/#search%7Cga%7C1%7Ceureka-server或者编译源码,将war拷贝进tomcat即可提供服务eure

2016-05-04 12:46:58

springcloud(第二篇)springcloud config 修改配置

springcloud(第二篇)springcloudconfig修改配置在git端修改配置后如何让客户端生效?访问接口修改refreshpost方式执行http://localhost/refresh会刷新env中的配置restart如果配置信息已经注入到bean中,由于bean是单例的,不会去加载修改后的配置需要通过post方式去执行http://localhost/re

2016-05-03 20:48:55

springcloud(第一篇)springcloud config 入门

springcloudconfig入门简介Springcloudconfig分为两部门serverclientconfig-server配置服务端,服务管理配置信息config-client客户端,客户端调用server端暴露接口获取配置信息config-server创建config-server首先创建config-server工程.文件结构:├──config-se

2016-05-03 19:48:01

spring boot实战(第十四篇)整合RabbitMQ源码分析前言

前言本篇开始讲述SpringBoot如何整合RabbitMQ(实际上Spring就整合了RabbitMQ)。RabbitAdmin在上篇中遗留AmqpAdmin没有讲解,现在来看下该部分代码publicAmqpAdminamqpAdmin(CachingConnectionFactoryconnectionFactory){ returnnew

2015-11-01 21:39:16

spring boot实战(第十三篇)自动配置原理分析

前言SpringBoot中引入了自动配置,让开发者利用起来更加的简便、快捷,本篇讲利用RabbitMQ的自动配置为例讲分析下SpringBoot中的自动配置原理。在上一篇末尾讲述了SpringBoot默认情况下会为ConnectionFactory、RabbitTemplate等bean,在前面的文章中也讲到嵌入的Tomcat默认配置为8080端口这些都属于SpringBoo

2015-11-01 17:22:24

spring boot实战(第十二篇)整合RabbitMQ

前言本篇主要讲述SpringBoot与RabbitMQ的整合,内容非常简单,纯API的调用操作。 消息生产者不论是创建消息消费者或生产者都需要ConnectionFactoryConnectionFactory配置创建AmqpConfig文件AmqpConfig.java(后期的配置都在该文件中)@Configurationpublic

2015-11-01 16:44:07

spring boot实战(第十一篇)初识RabbitMQ

前言最近几篇文章将围绕消息中间件RabbitMQ展开,对于RabbitMQ基本概念这里不阐述,主要讲解RabbitMQ的基本用法、Java客户端API介绍、SpringBoot与RabbitMQ整合、SpringBoot与RabbitMQ整合源码分析。RabbitMQ安装在使用消息中间件RabbitMQ之前就是安装RabbitMQ。安装erlang:yu

2015-11-01 15:31:04

spring boot实战(第十篇)Spring boot Bean加载源码分析

前言前面的文章描述了Application对应Bean的创建,本篇将阐述springboot中bean的创建过程refresh首先来看SpringApplication#run方法中refresh()方法//Refreshthecontext refresh(context);调用的是AbstractApplicationContext中的re

2015-10-13 23:30:30

spring boot实战(第九篇)Application创建源码分析

前言通过前面的文章了解到在springboot的启动时,利用的是编写的Application类,使用了注解@SpringBootApplication,本篇将阐述该Bean的加载过程。@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){

2015-10-11 15:52:02
奖章
    暂无奖章