自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

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

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

2017-03-25 23:18:46 16424 1

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

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

2016-08-21 21:53:15 23272 1

原创 zipkin

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

2016-07-31 11:18:51 74264 6

原创 consul(第二篇)consul Ops

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

2016-06-08 12:16:17 15391 2

原创 consul(第一篇)consul 入门

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

2016-06-01 21:31:37 32858

原创 springcloud(第九篇)netflix zuul

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

2016-05-28 17:35:53 66061 1

原创 springcloud(第八篇)springcloud feign

# spring cloud feignintroductionnetflix feign是一个类似retrofit进行http调用框架,Feign makes writing java http clients easier 使得编写http client代码更加简单netflix feign直接给出一段简单的案例package com.lkl.netflix.feign;import feign

2016-05-21 13:28:01 44901

原创 springcloud(第七篇)springcloud ribbon with eureka

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

2016-05-21 12:24:36 30725 4

原创 springcloud(第六篇)springcloud ribbon

spring cloud ribbon简介ribbon用以实现负载均衡;实现软负载均衡,核心有三点:服务发现,发现依赖服务的列表服务选择规则,在多个服务中如何选择一个有效服务服务监听,检测失效的服务,高效剔除失效服务netflix ribbon一个简单的demo配置文件:# Max number of retries on the same server (excluding the fi

2016-05-10 12:26:30 26332

原创 springcloud(第五篇)springcloud turbine

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

2016-05-08 09:56:22 38357 9

原创 springcloud(第四篇)springcloud hystrix

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

2016-05-07 18:35:21 47008 1

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

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

2016-05-04 12:46:58 105645 13

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

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

2016-05-03 20:48:55 39122 7

原创 springcloud(第一篇)springcloud config 入门

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

2016-05-03 19:48:01 120905 15

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

前言本篇开始讲述Spring Boot如何整合RabbitMQ(实际上Spring就整合了RabbitMQ)。RabbitAdmin在上篇中遗留AmqpAdmin没有讲解,现在来看下该部分代码public AmqpAdmin amqpAdmin(CachingConnectionFactory connectionFactory) { return new

2015-11-01 21:39:16 23890

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

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

2015-11-01 17:22:24 80141 3

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

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

2015-11-01 16:44:07 115145 13

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

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

2015-11-01 15:31:04 25444 1

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

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

2015-10-13 23:30:30 48760 3

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

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

2015-10-11 15:52:02 20355

原创 spring boot实战(第八篇)上下文的创建

前言本篇主要讲解spring boot上下文的创建,为后续源码的解读打下铺垫ApplicationContext在run方法中执行 context = createApplicationContext();创建上下文 protected ConfigurableApplicationContext createApplicationContext()

2015-10-09 23:39:25 16723 4

原创 spring boot实战(第七篇)内嵌容器tomcat配置

spring boot实战(第七篇)内嵌容器tomcat配置默认容器spring boot默认web程序启用tomcat内嵌容器tomcat,监听8080端口,servletPath默认为 / 通过需要用到的就是端口、上下文路径的修改,在spring boot中其修改方法及其简单;在资源文件中配置: server.port=9090 server.contextPath=/lkl启动spr

2015-10-07 12:30:47 76040 5

原创 spring boot实战(第六篇)加载application资源文件源码分析

前言在上一篇中了解了spring配置资源的加载过程,本篇在此基础上学习spring boot如何默认加载application.xml等文件信息的。ConfigFileApplicationListener在spring boot实战(第三篇)事件监听源码分析中可知在构造SpringApplication时加载相关的监听器,其中存在一个监听器ConfigFileAp

2015-10-03 15:25:54 28009 3

原创 spring boot实战(第五篇)配置源码解析

前言前面的文章都采用markdown编写的,但编辑图片上极其不方便,以后还是采用网页的形式。上一篇中讲述了spring boot配置文件的使用,本篇开始从源码的角度来看看配置文件。环境(Environment)学习过spring的同学都清楚,在bean中注入Enviroment实例即可调用配置资源信息,如以下代码package com.lkl.springb

2015-10-02 22:56:51 17152 3

原创 spring boot实战(第四篇)分散配置

spring boot实战(第四篇)分散配置前言分散配置是系统必不可少的一部分,将配置参数抽离出来为后期维护提供很大的便利。spring boot 默认支持两个格式的配置文件:.properties .yml。.properties与.yml*.properties属性文件;属于最常见的一种; *.yml是yaml格式的文件,yaml是一种非常简洁的标记语言。在*.properties中定义us

2015-09-13 23:38:29 19911 3

原创 spring boot实战(第三篇)事件监听源码分析

spring boot实战(第三篇)事件监听源码分析前言解读源码,知其然知其所以然···监听源码分析首先来看下上一篇中执行的main方法package com.u51.lkl.springboot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.Sprin

2015-09-03 14:42:27 22343 3

原创 spring boot实战(第二篇)事件监听

spring boot 实战 2.事件监听前言spring boot在启动过程中增加事件监听机制,为用户功能拓展提供极大的便利。支持的事件类型四种 ApplicationStartedEvent ApplicationEnvironmentPreparedEvent ApplicationPreparedEvent ApplicationFailedEvent实现

2015-09-02 23:54:25 68684 4

原创 spring boot实战(第一篇)第一个案例

spring boot实战(第一篇)第一个案例前言写在前面的话一直想将spring boot相关内容写成一个系列的博客,今天终于有时间开始了第一篇文章以后有时间就会继续写下去。spring boot 博客内容规划spring boot 基本用法自动配置技术集成性能监控源码解析spring boot 功能强大,后面会细细道来。第一个案例工程的构建构建spring boot工程一般采用两

2015-08-25 23:29:28 67601 16

原创 3、Redis 集群特性之容错、数据迁移

前言:该篇中主要讲解一下redis的容错以及数据的迁移(横向拓展)redis 集群信息在前面章节中讲到将Node加入到cluster以后打印了如下日志:[root@localhost src]# ./redis-trib.rb create --replicas 1 192.168.1.103:7000 192.168.1.103:7001 192.168.1.103:70

2015-08-14 23:45:56 6205

原创 2、Redis集群的调用

前言:在上篇文章中讲到了redis集群环境的搭建,本次将讲解下redis集群的调用,对大多程序员来讲大多数操作还是调用集群环境,对于环境的搭建,后期的维护是不太关心的,不过手动构建测试环境还是很有必要的。redis-cli 调用通过redis-server 启动redis的服务,对应存在命令 redis-cli作为客户端去调用服务器。在redis单机情况下,我们都是

2015-08-13 23:24:02 2080

原创 1、Redis 集群环境的搭建

前言:        redis cluster 环境的搭建集群环境的搭建首先声明一下个人的环境:mac + centos(虚拟机),环境搭建在centos上,mac作为客户端调用。redis的集群需要依赖ruby环境,首先安装 zlib 、ruby1.zlib 的安装

2015-08-13 22:08:40 2075

hystrix简介

hystrix

2016-05-03

毕业设计-手机进销存系统设计与实现

毕业设计-手机进销存系统设计与实现

2013-07-26

MLDN STRUTS 2. 1 完整源码

MLDN STRUTS 2. 1 完整源码

2012-06-13

MLDN JAVAWEB高级篇完整源码

MLDN JAVAWEB高级篇完整源码

2012-06-13

空空如也

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

TA关注的人

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