概述 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,…
概述 Feign: 美[feɪn]英[feɪn] 官网解释: http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接…
概述 介绍: ribbon: 美[ˈrɪbən]英['rɪbən] Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配…
Eureka服务注册与发现 Eureka发音: 英[juˈriːkə]美[juˈriːkə] Eureka是什么 Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符…
总体介绍 以Dept部门模块做一个微服务通用案例 Consumer消费者(Client)通过REST调用Provider提供者(Server)提供的服务 一个简单的Maven模块结构是这样的: 一个简单的Maven模块结构是这样的: ---- app-parent 一个父项目(app-parent)聚合很多子项目(app-util,app-dao,…
SpringCloud是什么 SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。 SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施…
微服务是什么 技术维度理解 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。 业界大牛马丁.福勒(Martin Fowler) 这样描述微服务: 论文网址: ht…
类和对象 关系图: 演变代码: package chapter07; public class Object01 { //编写一个main方法 public static void main(String[] args) { /* 张老太养了两只猫猫:一只名字叫小白,今年3岁,白色。 还有一只叫小花,今年100岁,花色。请编写一个程序,当用户输入小…
1、SpringBoot特点 1.1、依赖管理 ● 父项目做依赖管理 依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> …
官网:https://spring.io/projects/spring-boot#learn 快速开始:https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.first-application 配置文件…