Jenkins+Maven+Git(GitLab)持续集成Java项目

一、前言1、本文主要内容 Jenkins+SSH获取Gitlab代码Jenkins+Maven构建Java(Spring Boot)项目配置Jenkins发布Spring Boot项目:远程服务器端配置Jenkins发布Spring Boot项目:pom.xml编译配置Jenkins+SSH将构建输出结果发布到远程服务器并启动应用 2、环境信息 服务器 服务器名 操作系统 ...

Spring Cloud 入门教程7、服务网关(Zuul)

一、前言1、什么是服务网关?服务网关也就是API网关,服务网关可以作为服务的统一入口,提供身份校验、动态路由、负载均衡、安全管理、统计、监控、流量管理、灰度发布、压力测试等功能 服务网关/API网关并不是微服务体系所特有的,而是微服务流行起来之后,服务网关基本上成了微服务架构的标配。服务网关通常用于向客户端或者合作伙伴应用提供统一的服务接入方式,例如:App网关、开放平台(OpenAPI)等等。...

Spring Cloud 入门教程6、Hystrix Dashboard监控数据聚合(Turbine)

一、前言1、什么是Turbine?Turbine是Netflix开源的将Server-Sent Event(SSE)的JSON数据流聚合成单个流的工具。我们可以通过Turbine将Hystrix生产的监控数据(JSON)合并到一个流中,方便我们对存在多个实例的应用进行监控。 Turbine can be used with any data source that fits the supp...

Spring Cloud 入门教程5、服务容错监控:Hystrix Dashboard

一、前言1、Hystrix Dashboard的作用?上一篇我们介绍了Hystrix的基础使用,我们可以通过Hystrix做到依赖隔离和熔断等操作。但是只有工具的使用而没有监控,我们就无法在第一时间发现出现问题的依赖,也不能判断服务整体的健康状态/运行状态。所以我们还要做好相关的监控工作。 Hystrix提供了监控页面,本篇主要介绍如何使用Hystrix Dashboard对服务的容错情况进行监...

Spring Cloud 入门教程4、服务容错保护:断路器(Hystrix)

一、前言1、为什么需要断路器在分布式架构中,一个应用依赖多个服务是非常常见的,如果其中一个依赖由于延迟过高发生阻塞,调用该依赖服务的线程就会阻塞,如果相关业务的QPS较高,就可能产生大量阻塞,从而导致该应用/服务由于服务器资源被耗尽而拖垮。 另外,故障也会在应用之间传递,如果故障服务的上游依赖较多,可能会引起服务的雪崩效应。就跟数据瘫痪,会引起依赖该数据库的应用瘫痪是一样的道理。 所以,断路器...

Spring Cloud 入门教程3、服务消费者(Feign)

一、前言1、什么是FeignFeign是基于Ribbon封装的HTTP Client工具包,Feign的目标是简化HTTP Client。Feign也确实做到了这一点,使用Feign发起HTTP请求只需要定义好接口并且配置好相应的注解即可完成对对应接口的绑定。 Spring Cloud基于Feign封装了Spring Cloud Feign(OpenFeign),同Ribbon一样,主要是方便结...

Spring Cloud 入门教程2、服务消费者(Ribbon)

一、前言1、什么是RibbonRibbon是Netflix开源的实现了负载均衡等功能的RPC客户端。支持HTTP、TCP、UDP协议,且有一定的容错、缓存等机制。 Spring Cloud基于Ribbon封装了Spring Cloud Ribbon,方便结合Eureka、Consul等服务治理框架使用。Ribbon的主要作用是:从服务器端拿到对应服务列表后以负载均衡的方式访问对应服务。 从...

Spring Cloud 入门教程1、服务注册与发现(Eureka)

一、前言1、什么是Eureka?Eureka是Netflix开源的服务注册与发现框架,Eureka由两个组件组成:Eureka服务器和Eureka客户端。 Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。 Eureka客户端是一...