Spring Cloud
文章平均质量分 54
Spring Cloud
程序员·小李
不知道要干什么的时候,停一停,想一想;知道想要什么的时候,努努力,拼一拼。
展开
-
【微服】单体、SOA、微服务
单体架构 将所有的功能都集中在一个模块中(WAR包)开发、部署、迭代,牵一发而动全身,局部低效率拖垮整个服务。 SOA 按服务对项目拆分,通过对外提供接口的方式提供服务,缓解了单体的单服务低效率拖垮整个服务的问题,但往往通过数据库进行数据共享,服务之间会基于数据库耦合。 微服务 独立开发、部署,技术栈独立,数据库独立。服务之间通过统一的HTTP接口调用,或采用Kafka、RabbitMQ等消息队列的方式进行通信,耦合性大大降低。 SpringCloud微服务组件 .原创 2022-04-15 07:15:41 · 614 阅读 · 0 评论 -
Spring Cloud (5)熔断器
服务可用性依赖 大型项目都是一个个微服务之间相互依赖组成的,服务可用性是服务的一个主要特征。 假如B服务依赖A服务,C服务依赖B服务,那么, A服务不可用,会直接导致B服务的不可用,进而影响C服务的不可用。 熔断 服务熔断指的是,提前检查服务的可用性,避免长时间等待而造成资源的浪费。 当请求服务失败次数超过一定的比例时(默认为50%), 断路器进入Open状态,此时所有请求会直接失败. 断路器在进入Open状态一段时间后(默认5秒), 自动切换到HALF-OPEN状态,此时会判断下一次请求原创 2021-08-16 22:53:10 · 228 阅读 · 0 评论 -
Spring Cloud (4)服务消费者
顾名思义,服务消费者就是调用服务的一方。当然一个服务既可以是服务提供方,也可是其他服务的消费方。 1. 添加依赖spring-cloud-starter-eureka <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency&g原创 2021-08-16 22:26:48 · 202 阅读 · 0 评论 -
Spring Cloud (3)服务提供者
服务提供者顾名思义就是提供服务的一方。 1. 添加依赖spring-cloud-starter-eureka <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> 2. 开启服务注册@EnableDiscove原创 2021-08-16 22:16:38 · 214 阅读 · 0 评论 -
Spring Cloud(1)简介
Spring Cloud 是基于Spring Boot的一种分布式系统开发套件,区别于单体架构的项目,有易扩展、独立部署、持续交付的优点。 组件 简介 Netflix Eureka 服务管理中心。所有的微服务,只要你想要被其他服务调用,都需要注册到Eureka里,这样大家统一到Eureka里获取服务,不需要再维护服务的地址是多少,端口号是多少了。 Netflix Hystrix 熔断器。熔断器用于解决服务的可用性问题,当服务不可用时,及时降级,以便于调用方能够及时的察觉。 N原创 2021-08-16 21:07:35 · 105 阅读 · 0 评论 -
Spring Cloud (2)服务管理Eureka
传统的服务调用 传统意义上的服务调用是,采用RestTemplate的方式,使用ip+port的方式进行服务调用。存在以下问题: 1. 服务可用性差。如果单纯使用ip+port,服务一旦不可用,直接瘫痪。 2. 调用方管理麻烦,特别是服务很多的时候,每个服务都需要管理。 微服务调用 微服务通常有一个专门的组件维护所有可用的服务,这就是Eureka: 1. 微服务A提供订单号生成,需要注册到Eureka。 2. 微服务B提供产品查询,需要注册到Eureka。 3. 服务C想要生成订单号,直原创 2021-08-16 22:01:38 · 358 阅读 · 0 评论 -
企业级Java微服务2:开发一个简单的Restful微服务
·原创 2020-09-08 10:35:25 · 236 阅读 · 0 评论 -
企业级Java微服务1:简介
企业级Java 什么是企业级Java?就是为了满足企业开发需求的Java。包括: 1. 前端UI 2. 后端数据库 3. 通过web服务与其他应用交互 4. 与内部系统交互 最常见的企业级Java框架:JavaEE、Spring 传统Java项目架构 模型、服务层作为jar包打包,controller、view作为war包打包。 进化后的架构: 单体架构的缺点 1. 单模块扩展不可行。对单个模块无法扩展,需要整个实例扩展。 2. 单模块的性能问题...原创 2020-09-07 20:16:42 · 309 阅读 · 0 评论 -
Spring Cloud 1: Service Discovery
微服务的设计 微服务最大的特点就是将大型的项目分割成无数个小服务,服务可以根据需要适当扩展和伸缩。那么,既然存在很多服务,如何知道服务的位置呢?host和port都是多少?怎么访问?怎么调用?这就涉及到服务发现问题了。 我们来设计一个简单的解决方案:让每个服务都保存一份各个服务的地址和端口号,这样的确可以让各个服务都能知道服务在哪里。但是,如果临时增加了两个实例到服务A,其他服务知道这两个新增的实例的地址么?答案是否定的。再或者,如果A服务一共两个实例,某个实例出现故障,其他服务会知道这个实例没有.原创 2020-07-31 15:43:04 · 250 阅读 · 0 评论