Live My Life

淡而无味也是一种味道

[Linux] Linux 简介

Linux 简介

概述 Linux 是一种自由和开放源码的类 UNIX 操作系统,使用 Linux 内核。目前存在着许多不同的 Linux 发行版,可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。 Linux 是一个领先的操作系统,世界上运算最快的 10 台超级电脑运行的都是 Linux 操作系统。 Linux 操作系统也是自由软件和开放源代码发展中......

[Java 杂记] JVM 浅谈

JVM 简介

什么是 JVM JVM 是 Java Virtual Machine(Java虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java 虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM 屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在 Java 虚拟机上运行的......

[Spring Cloud Netflix] 13 Admin 服务监控

服务监控

随着开发周期的推移,项目会不断变大,切分出的服务也会越来越多,这时一个个的微服务构成了错综复杂的系统。对于各个微服务系统的健康状态、会话数量、并发数、服务资源、延迟等度量信息的收集就成为了一个挑战。Spring Boot Admin 应运而生,它正式基于这些需求开发出的一套功能强大的监控管理系统。 Spring Boot Admin 有两个角色组成,一个是 Spring Boot Admin......

[Spring Cloud Netflix] 12 ZipKin 服务链路追踪

服务链路追踪

概述 这篇文章主要讲解服务追踪组件 ZipKin。 ZipKin 简介 ZipKin 是一个开放源代码的分布式跟踪系统,由 Twitter 公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于 Google Dapper 论文。 每个服务向 ZipKin 报告计时数据,ZipKin 会根据调用关系通过 ZipKin UI 生......

[Spring Colud Netflix] 11 Config 分布式配置中心

分布式配置中心

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在 Spring Cloud 中,有分布式配置中心组件 Spring Cloud Config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程 Git 仓库中。在 Spring Cloud Config 组件中,分两个角色,一是 Config Server,二是 Config......

[Spring Cloud Netflix] 10 ZuulFilter 使用路由网关的服务过滤功能

使用路由网关的服务过滤功能

概述 Zuul 不仅仅只是路由,还有很多强大的功能,本节演示一下它的服务过滤功能,比如用在安全验证方面。 创建服务过滤器 继承 ZuulFilter 类并在类上增加 @Component 注解就可以使用服务过滤功能了,非常简单方便 123456789101112131415161718192021222324252627282930313233343536373839404142434445......

[Spring Cloud Netflix] 9 Zuul 使用路由网关统一访问接口

使用路由网关统一访问接口

概述 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、熔断器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简单的微服务系统如下图: 在 Spring Cloud 微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(Zuul、Ngnix),再到达服务网关(Zuul 集群),然后再到具体的服。服务统一......

[Spring Cloud Netflix] 8 HystrixDashboard 使用熔断器仪表盘监控

使用熔断器仪表盘监控

概述 在 Ribbon 和 Feign 项目增加 Hystrix 仪表盘功能,两个项目的改造方式相同 创建熔断器仪表盘 在 pom.xml 中增加依赖 1234<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-star......

[Spring Cloud Netflix] 7 Hystrix 使用熔断器防止服务雪崩

使用熔断器防止服务雪崩

概述 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过 RPC 相互调用,在 Spring Cloud 中可以用 RestTemplate + Ribbon 和 Feign 来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet......

[Spring Cloud Netflix] 6 Feign 创建服务消费者

创建服务消费者(Feign)

概述 Feign 是一个声明式的伪 Http 客户端,它使得写 Http 客户端变得更简单。使用 Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用 Feign 注解和 JAX-RS 注解。Feign 支持可插拔的编码器和解码器。Feign 默认集成了 Ribbon,并和 Eureka 结合,默认实现了负载均衡的效果 Feign 采用的是基于接口的注解 Feign 整合了......