spring cloud
NullPointerExcept
这个作者很懒,什么都没留下…
展开
-
分布式系统延迟和容错框架Hystrix
简介 在大中型分布式系统中,通常系统很多依赖(HTTP,Hession,Netty,Dubbo等),在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题: 如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等。 在正常情况下: 当依赖服务 I 繁忙,其他依赖正常时: 当依赖 I 阻塞时,大多数服务器的转载 2017-12-28 15:19:42 · 704 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十二篇:springboot集成apidoc
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023579 本文出自方志朋的博客首先声明下,apidoc是基于注释来生成文档的,它不基于任何框架,而且支持大多数编程语言,为了springboot系列的完整性,所以标了个题。一、apidoc简介apidoc通过在你代码的注释来生成api文档的。它对代码转载 2017-07-03 09:11:57 · 305 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023692 本文出自方志朋的博客这篇文章带你了解怎么整合RabbitMQ服务器,并且通过它怎么去发送和接收消息。我将构建一个springboot工程,通过RabbitTemplate去通过MessageListenerAdapter去订阅一个POJO类型的消息。转载 2017-07-02 14:31:00 · 1069 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十六篇:用restTemplate消费服务
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023724 本文出自方志朋的博客这篇文章主要介绍怎么用消费一个 Restful的web服务。我将用restTemplate去消费一个服务: http://gturnquist-quoters.cfapps.io/api/random.构架工程创建一个s转载 2017-07-02 14:30:33 · 217 阅读 · 0 评论 -
SpringBoot非官方教程 | 第二十五篇:2小时学会springboot
转载请标明出处: http://blog.csdn.net/forezp/article/details/61472783 本文出自方志朋的博客一.什么是spring bootTakes an opinionated view of building production-ready Spring applications. Spring Boot favors c转载 2017-07-02 14:29:45 · 279 阅读 · 0 评论 -
SpringBoot非官方教程 | 第二十四篇: springboot整合docker
转载请标明出处: http://blog.csdn.net/forezp/article/details/71024219 本文出自方志朋的博客这篇文篇介绍,怎么为 springboot程序构建一个Docker镜像。docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移转载 2017-07-02 14:29:14 · 2596 阅读 · 0 评论 -
SpringBoot非官方教程 | 第二十三篇: 异步方法
转载请标明出处: http://blog.csdn.net/forezp/article/details/71024169 本文出自方志朋的博客这篇文章主要介绍在springboot 使用异步方法,去请求github api.创建工程在pom文件引入相关依赖:dependency> groupId>org.springframewor转载 2017-07-02 14:28:33 · 251 阅读 · 0 评论 -
SpringBoot非官方教程 | 第二十一篇: springboot集成JMS
转载请标明出处: http://blog.csdn.net/forezp/article/details/71024024 本文出自方志朋的博客springboot对JMS提供了很好的支持,对其做了起步依赖。构架工程创建一个springboot工程,在其pom文件加入: dependency> groupId>org.springfr转载 2017-07-02 14:27:50 · 491 阅读 · 0 评论 -
SpringBoot非官方教程 | 第二十篇: 处理表单提交
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023868 本文出自方志朋的博客这篇文件主要介绍通过springboot 去创建和提交一个表单。创建工程涉及了 web,加上spring-boot-starter-web和spring-boot-starter-thymeleaf的起步依赖。dep转载 2017-07-02 14:27:19 · 344 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十九篇: 验证表单信息
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023817 本文出自方志朋的博客这篇文篇主要简述如何在springboot中验证表单信息。在springmvc工程中,需要检查表单信息,表单信息验证主要通过注解的形式。构建工程创建一个springboot工程,由于用到了 web 、thymeleaf、转载 2017-07-02 14:26:51 · 358 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十八篇: 定时任务(Scheduling Tasks)
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023783 本文出自方志朋的博客这篇文章将介绍怎么通过spring去做调度任务。构建工程创建一个Springboot工程,在它的程序入口加上@EnableScheduling,开启调度任务。@SpringBootApplication@Enabl转载 2017-07-02 14:26:10 · 1128 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十七篇:上传文件
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023752 本文出自方志朋的博客这篇文章主要介绍,如何在springboot工程作为服务器,去接收通过http 上传的multi-file的文件。构建工程为例创建一个springmvc工程你需要spring-boot-starter-thymeleaf转载 2017-07-02 14:25:37 · 407 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023536 本文出自方志朋的博客swagger,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api,简单优雅帅气,正如它的名字。一、引入转载 2017-07-03 09:12:22 · 428 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十篇: 用spring Restdocs创建API文档
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023510 本文出自方志朋的博客这篇文章将带你了解如何用spring官方推荐的restdoc去生成api文档。本文创建一个简单的springboot工程,将http接口通过Api文档暴露出来。只需要通过 JUnit单元测试和Spring的MockMVC就可以生成文档。转载 2017-07-03 09:12:53 · 589 阅读 · 0 评论 -
初识服务发现及Consul框架的简单使用
1.什么是服务发现?服务发现组件记录了(大规模)分布式系统中所有服务的信息,人们或者其它服务可以据此找到这些服务。DNS 就是一个简单的例子。当然,复杂系统的服务发现组件要提供更多的功能,例如,服务元数据存储、健康监控、多种查询和实时更新等。服务发现是支撑大规模 SOA 的核心服务。2.服务发的关键特性 高可用的转载 2017-09-19 11:20:42 · 1297 阅读 · 0 评论 -
Hystrix配置简单说明(官方文档简译)
详细信息,见官方文档。Hystrix属性的4中优先级1. 内置全局默认值(Global default from code)如果下面3种都没有设置,默认是使用此种,后面用“默认值”代指这种。2. 动态全局默认属性(Dynamic global default property)可以通过属性配置来更改全局默认值,后面用“默认属性”代指这种。3. 内置实例默认值(Instanc转载 2017-09-18 11:00:44 · 3364 阅读 · 0 评论 -
微服务注册发现集群搭建——Registrator + Consul + Consul-template + nginx
在互联网应用领域,服务的动态性需求十分常见,这就对服务的自动发现和可动态扩展提出了很高的要求。微服务系统动辄上万个服务,而且还要动态伸缩。以人工写好的IP、Port 硬编码脚本的方式无法做到大规模自动化,稍微多点服务运维就傻了。微服务必然要做到ip和port自动分配,减少人工干预。我们需要让每个服务能动态的创建地址,同时调用方要能感知地址变化。这就需要有一个服务注册与发现的机制,这转载 2017-09-25 11:48:50 · 7684 阅读 · 2 评论 -
深入学习consul
一.背景——随着互联网的发展,越来越多的系统/网站走向了分布式之路,但是分布式带给我们的复杂性是难以想象的,这就需要专门有第三方统一管理微服务、配置、资源等。第三方系统必须要具有下面两个特征:1.集群部署2.数据一致性——目前业内有很多这种产品:zookeeper、etcd、consul,三者各有各的特点。这里就不一一说明三者的优缺,仅仅分析co转载 2017-09-25 11:44:46 · 1828 阅读 · 0 评论 -
微服务之分布式跟踪系统(springboot+zipkin+mysql)
通过上一节《微服务之分布式跟踪系统(springboot+zipkin)》我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了内存,还有Cassandra、MYSQL、ElasticSearch。二、zipkin的各种Storage配置简介 zipkin存在一些公用的配置,同时存在一些私有的配置(详细信转载 2017-09-24 15:27:08 · 4341 阅读 · 0 评论 -
SpringBoot微服务之分布式跟踪系统(springboot+zipkin)
一、zipkin是什么 zipkin是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于Google Dapper 论文。 每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图,显示了多少转载 2017-09-24 15:26:34 · 1134 阅读 · 0 评论 -
分布式跟踪系统(二):Zipkin的Span模型
在《分布式跟踪系统(一):Zipkin的背景和设计》一文中,已经初步的介绍了Zipkin的设计和数据模型,本文将详细介绍Zipkin的Span模型,以及其他“另类”Span模型的设计。 这里多一句嘴,其实专业点的叫法应该是分布式追踪系统——Distributed TracingSystem,跟踪比较适合用于人的场景,比如某人被跟踪了,而追踪更适合用于计算机领域。然并卵?本转载 2017-09-24 15:16:03 · 3170 阅读 · 0 评论 -
分布式跟踪系统(一):Zipkin的背景和设计
2010年谷歌发表了其内部使用的分布式跟踪系统Dapper的论文(http://static.googleusercontent.com/media/research.google.com/zh-CN//archive/papers/dapper-2010-1.pdf,译文地址:http://bigbully.github.io/Dapper-translation/),讲述了Dapper在谷歌内转载 2017-09-24 15:15:08 · 422 阅读 · 0 评论 -
使用Eureka做服务发现(二)
概述这不是一篇使用指南,使用指南应该是循序渐进的;也不是源码解析,源码解析应该高屋建瓴,然后层层递进。我只是轻松的把该文写成在看代码的过程中的简单记录,有空再详细整理吧。Eureka Server提供了一个Web管理页面,还有一系列的基于HTTP的API,提供注册、解除绑定,查找服务等功能。API文档位于:API文档EurekaServer没有把信息在后端存储中持久化,而是存储在内存中转载 2017-07-03 09:17:29 · 11103 阅读 · 0 评论 -
使用Eureka做服务发现(一)
使用Eureka做服务发现Zookeeper做注册中心的缺陷Peter Kelley(个性化教育初创公司Knewton的一名软件工程师)发表了一篇文章说明为什么ZooKeeper用于服务发现是一个错误的做法,他主要提出了三个缺点[1]:ZooKeeper无法很好的处理网络分区问题,当网络分区中的客户端节点无法到达Quorum时,会与ZooKeeper失去联系,从而也就无法使转载 2017-07-03 09:16:57 · 33833 阅读 · 0 评论 -
深度剖析服务发现组件Netflix Eureka
一、背景介绍Eureka是Netflix开源的一款提供服务注册和发现的产品。其官方文档中对自己的定义是:Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the p转载 2017-07-03 09:16:27 · 402 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十四篇:在springboot中用redis实现消息队列
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023652 本文出自方志朋的博客这篇文章主要讲述如何在springboot中用reids实现消息队列。准备阶段安装redis,可参考我的另一篇文章,5分钟带你入门Redis。java 1.8maven 3.0idea环境依赖创建一个新的转载 2017-07-02 14:24:48 · 230 阅读 · 0 评论 -
SpringBoot非官方教程 | 第十三篇:springboot集成spring cache
转载请标明出处: http://blog.csdn.net/forezp/article/details/71023614 本文出自方志朋的博客本文介绍如何在springboot中使用默认的spring cache,声明式缓存Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhCache、 Haze转载 2017-07-02 14:24:13 · 226 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
转载请标明出处: http://blog.csdn.net/forezp/article/details/70217283 本文出自方志朋的博客在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。一、Hystrix Dashboard简介在微服务架构中为例保转载 2017-06-05 17:03:43 · 1028 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目
转载请标明出处: http://blog.csdn.net/forezp/article/details/70198649 本文出自方志朋的博客一、docker简介Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、Op转载 2017-06-05 17:02:50 · 427 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
转载请标明出处: http://blog.csdn.net/forezp/article/details/70183572 本文出自方志朋的博客文章 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产转载 2017-06-05 17:02:09 · 332 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
转载请标明出处: http://blog.csdn.net/forezp/article/details/70162074 本文出自方志朋的博客这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。一、简介Add sleuth to the classpath of a Spring Boot applica转载 2017-06-05 17:01:27 · 4552 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
转载请标明出处: http://blog.csdn.net/forezp/article/details/70148235 本文出自方志朋的博客Spring Cloud Bus 将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。本文要讲述的是用AMQP实现通知微转载 2017-06-05 17:00:41 · 435 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)
转载请标明出处: http://blog.csdn.net/forezp/article/details/70037513 本文出自方志朋的博客上一篇内容讲述,一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务很多时,都需要同时从配置中心读取文件的时候,这时我们可以考虑将配置中心做成一个微服务,并且将其集群化,从而达到高可用,架构图如下:转载 2017-06-05 16:59:56 · 2853 阅读 · 7 评论 -
史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
转载请标明出处: http://blog.csdn.net/forezp/article/details/70037291 本文出自方志朋的博客 在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是Spring Cloud Config。一、简介在分布式系统中,spring cloud config 提供一个服务端和客户端去提供可转载 2017-06-05 16:59:16 · 461 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
转载请标明出处: http://blog.csdn.net/forezp/article/details/69939114 本文出自方志朋的博客在微服务架构中,需要几个关键的组件,服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个组件可以组建一个简单的微服务架构,如下图: 注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也转载 2017-06-05 16:58:40 · 965 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
转载请标明出处: http://blog.csdn.net/forezp/article/details/69808079 本文出自方志朋的博客上一篇文章,讲述了通过restTemplate+ribbon去消费服务,这篇文章主要讲述通过feign去消费服务。一、Feign简介Feign是一个声明式的web服务客户端,它使得写web服务变得更简单。使用Feign,转载 2017-06-05 16:57:13 · 405 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)
转载请标明出处: http://blog.csdn.net/forezp/article/details/69788938 本文出自方志朋的博客在上一篇文章,讲了服务的注册和发现。在服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种调用方式,一种是ribbon+restTemplate,另一种是feign转载 2017-06-05 16:56:39 · 744 阅读 · 0 评论 -
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
转载请标明出处: http://blog.csdn.net/forezp/article/details/69696915 本文出自方志朋的博客一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电转载 2017-06-05 16:55:56 · 655 阅读 · 0 评论 -
史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
转载请标明出处: http://blog.csdn.net/forezp/article/details/70233227 本文出自方志朋的博客上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另转载 2017-06-05 17:04:34 · 1120 阅读 · 0 评论 -
史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
转载请标明出处: http://blog.csdn.net/forezp/article/details/70245644 本文出自方志朋的博客这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。一、consul 简介consul 具有以下性质:服务发现:consul转载 2017-06-05 17:05:07 · 614 阅读 · 0 评论