关闭

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

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

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

嵌入tomcat源码分析在启动spring boot工程时利用@SpringBootApplication注解,该注解启动@EnableAutoConfiguration自动配置,加载META-INF/spring.factories文件# Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\...
阅读(4344) 评论(0)

zipkin

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

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绑定的ip join 指定加入到的consul...
阅读(2562) 评论(0)

consul(第一篇)consul 入门

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

springcloud(第九篇)netflix zuul

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

springcloud(第七篇)springcloud ribbon with eureka

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

springcloud(第六篇)springcloud ribbon

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

springcloud(第五篇)springcloud turbine

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

springcloud(第四篇)springcloud hystrix

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

前言 通过前面的文章了解到在spring boot的启动时,利用的是编写的Application类,使用了注解@SpringBootApplication,本篇将阐述该Bean的加载过程。 @SpringBootApplication public class Application { public static void main(String[] args) {...
阅读(4854) 评论(0)
31条 共2页1 2 下一页 尾页
    个人资料
    • 访问:473449次
    • 积分:2881
    • 等级:
    • 排名:第12381名
    • 原创:31篇
    • 转载:0篇
    • 译文:0篇
    • 评论:84条
    文章分类
    最新评论