SpringCloud
wang_shuyu
不积跬步,无以至千里!
展开
-
SpringCloud教程三:服务消费者(Feign)
一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解 Feign 整合了ribbon启原创 2017-12-01 17:13:42 · 8699 阅读 · 0 评论 -
SpringCloud教程
Spring CloudSpring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平...原创 2017-12-01 13:09:01 · 9188 阅读 · 2 评论 -
SpringCloud教程十一:Sleuth+Mysql服务链路追踪
springcloud中的服务链路追踪,之前我们已经讲过一次了,在实际应用中,我们经常需要将链路服务的记录保存下来,以实现服务的监测和分析,那么这就需要用到数据库了。下面我们来实现一下。数据库表结构:CREATE TABLE `zipkin_annotations` ( `trace_id_high` bigint(20) NOT NULL DEFAULT '0' COMMENT 'If no...原创 2018-02-10 13:54:08 · 9771 阅读 · 0 评论 -
SpringCloud教程十:Zuul+Mysql实现动态路由
实际开发中随着服务的增多,通过配置来设置zuul的路由就会变的很麻烦,给运维带来很大的不变,这里我们通过数据库获取的方式来实现动态路由的配置:首先sql:CREATE TABLE `gateway_api_define` ( `id` VARCHAR(50) NOT NULL, `path` VARCHAR(255) NOT NULL, `service_id` VARCHAR(50)...原创 2018-02-10 13:41:51 · 13405 阅读 · 8 评论 -
SpringCloud教程九:服务链路追踪(SpringCloud Sleuth)
Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。zipki原创 2017-12-04 14:07:49 · 8680 阅读 · 0 评论 -
SpringCloud教程八:消息总线(SpringCloud Bus)
SpringCloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。1:首先安装rabbitmq,可自行去官网下载相关版本进行安装; 2:修改config-client工程,添加相关依赖:<dependency> <grou原创 2017-12-03 19:56:58 · 9056 阅读 · 0 评论 -
SpringCloud教程七:高可用的分布式配置中心(SpringCloud Config)
上一篇我们讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下: 1:新建一个eureka server工程,命名为config-eureka-server,作为配置服务的注册中心。pom文件如下:<?xml version="1.0" encoding="U原创 2017-12-01 19:51:47 · 9701 阅读 · 2 评论 -
SpringCloud教程一:服务注册与发现(Eureka)
Spring CloudSpring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry原创 2017-12-01 12:18:08 · 14067 阅读 · 2 评论 -
SpringCloud教程六:分布式配置中心(SpringCloud Config)
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。1:新建原创 2017-12-01 19:19:02 · 8627 阅读 · 0 评论 -
SpringCloud教程五:路由网关(zuul)
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: 在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、Ngnix),再到达服务网关(zuul集群),然后再到具体的服。,服务统一注册到高可用的服务原创 2017-12-01 18:34:11 · 8696 阅读 · 0 评论 -
SpringCloud教程四:断路器(Hystrix)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪原创 2017-12-01 18:08:41 · 8638 阅读 · 0 评论 -
SpringCloud教程二:服务消费者(rest+ribbon)
在微服务架构中,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon。1:ribbon简介 ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。Feign默认集成了ribbon。ribbon 已经默认实现了这些配置bean:ICl原创 2017-12-01 13:00:38 · 8787 阅读 · 5 评论 -
SpringCloud教程十二:SpringBoot Admin监控应用
springboot admin,用于监控基于Spring Boot 的应用,并提供UI界面,是一个很好使,很方便的利器;项目要加入Admin监控目前主要有两中方式,一种是通过Admin client,另外一种就是通过eureka,将应用注册到eureka,他通过内置的zuul机制,可以读取到服务中心所有注册的应用,实现监控,本文主要介绍第二种方式。首先要有eureka的服务注册中心,这个在本系列...原创 2018-03-09 15:39:29 · 20168 阅读 · 2 评论