![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud
文章平均质量分 75
Willow51
这个作者很懒,什么都没留下…
展开
-
Spring Cloud学习笔记1——Spring Boot 简介、环境搭建、入门项目
Spring Boot是什么在Spring基础上再次进行封装,更加简化企业级应用开发。打破Spring的整合,把各种框架的整合进行了封装,封装到starter类库中。更快的入门开箱即用:把与具体业务相关的框架集成到一个jar包(starter)里面,starter可以涵盖相关业务开发的所有功能Spring血统:Spring具有的优点,Spring Boot统统都有;Spring不具备的优...原创 2018-11-07 16:57:33 · 637 阅读 · 0 评论 -
Spring Cloud学习笔记2——天气预报系统(1)一个简单的天气预报系统
创建项目新建项目文件夹:将hello-world项目中的源码文件复制粘贴到新项目文件夹中:修改源码到https://mvnrepository.com上搜索HttpClient,点击Apache HttpClient:选择需要的版本进入,点击Gradle:修改build.gradle配置,加入HttpClient的依赖://依赖关系dependencies { ...原创 2018-11-08 11:11:34 · 664 阅读 · 0 评论 -
Spring Cloud学习笔记3——天气预报系统(2)用redis提升应用的并发访问能力
为什么要使用Redis及时响应:Redis是一个基于内存的缓存系统,查询、响应的速度快减少服务调用开发环境JDK8+Gradle4+Redis 3.2.100Apache HttpClient 4.5.3Spring Boot Web StarterSpring Boot Data Redis Starter新建项目复制之前的micro-weather-basic项目...原创 2018-11-08 14:18:10 · 253 阅读 · 0 评论 -
Spring Cloud学习笔记4——天气预报系统(3)quartz scheduler定时获取天气数据
开发环境JDK8+Gradle4+Redis 3.2.100Apache HttpClient 4.5.3Spring Boot Web StarterSpring Boot Data Redis StarterSpring Boot Quartz StarterQuartz Scheduler创建项目新建项目文件夹:将micro-weather-redis项目中的源码...原创 2018-11-08 16:23:19 · 595 阅读 · 0 评论 -
Spring Cloud学习笔记5——天气预报系统(4)为天气预报制作 UI
开发环境JDK8+Gradle4+Redis 3.2.100Apache HttpClient 4.5.3Spring Boot Web StarterSpring Boot Data Redis StarterSpring Boot Quartz StarterQuartz SchedulerSpring Boot Thymeleaf Starter 2.0.0.M4Thy...原创 2018-11-08 17:30:19 · 675 阅读 · 2 评论 -
Spring Cloud学习笔记6—— 单块架构与微服务架构
什么是单块架构功能代码和数据集中在一起,所有编译文件打成一个发布包,部署在同一个进程中,单块架构是所有大型系统演变的基础和前提。单块架构的优缺点优点功能划分清楚层次关系良好每一层独立部署简单...原创 2018-11-09 10:36:28 · 367 阅读 · 1 评论 -
Spring Cloud学习笔记7——天气预报系统微服务(1)架构设计
现有天气预报系统的弊端大而全混杂了太多的功能难以理解难以维护难以扩展改造需求微服务的拆分应该足够的小,每个微服务的业务是非常单一的微服务应能支持水平扩展如果有需要,应能够实现微服务间的相互调用天气预报系统的微服务拆分微服务代码的拆分msa-weather-collection-server:天气数据采集微服务msa-weather-data-server:天...原创 2018-11-09 13:32:26 · 471 阅读 · 0 评论 -
Spring Cloud学习笔记8——天气预报系统微服务(2)天气数据采集微服务
开发环境JDK8+Gradle4+Redis 3.2.100Apache HttpClient 4.5.3Spring Boot Web StarterSpring Boot Data Redis StarterSpring Boot Quartz StarterQuartz Scheduler创建项目新建项目文件夹:将micro-weather-report项目中的源...原创 2018-11-09 14:23:56 · 306 阅读 · 0 评论 -
Spring Cloud学习笔记9——天气预报系统微服务(3)天气数据 API 微服务
开发环境JDK8+Gradle4+Redis 3.2.100Apache HttpClient 4.5.3Spring Boot Web StarterSpring Boot Data Redis Starter创建项目新建项目文件夹:将micro-weather-report项目中的源码文件复制粘贴到新项目文件夹中:修改源码修改build.gradle配置,删除Ht...原创 2018-11-09 14:51:24 · 237 阅读 · 0 评论 -
Spring Cloud学习笔记10——天气预报系统微服务(4)天气预报微服务
开发环境JDK8+Gradle4+Spring Boot Web StarterSpring Boot Thymeleaf Starter 2.0.0.M4Thymeleaf 3.0.7.RELEASEBootstrap 4.1.3创建项目新建项目文件夹:将micro-weather-report项目中的源码文件复制粘贴到新项目文件夹中:修改源码修改build.gra...原创 2018-11-09 16:33:41 · 274 阅读 · 0 评论 -
Spring Cloud学习笔记11——天气预报系统微服务(5)城市数据 API 微服务
开发环境JDK8+Gradle4+Spring Boot Web Starter创建项目新建项目文件夹:将micro-weather-report项目中的源码文件复制粘贴到新项目文件夹中:修改源码修改build.gradle配置,删除HttpClient、redis、quartz、thymeleaf的依赖://依赖关系dependencies { //该依赖用...原创 2018-11-09 16:56:13 · 235 阅读 · 0 评论 -
Spring Cloud学习笔记12——Spring Cloud 简介、服务治理(Eureka)
什么是Spring CloudSpring Cloud是用来构建一整套完整的分布式系统的框架Spring Cloud 与 Spring Boot的关系Spring Boot是构建Spring Cloud架构的基石Spring Cloud版本命名规则:伦敦地铁站名字Finchley版本是基于Spring Boot 2.0.xSpring Cloud配置//buildscript...原创 2018-11-12 09:44:15 · 1223 阅读 · 0 评论 -
Spring Cloud学习笔记13——集成 Eureka Server
开发环境JDK8+Gradle4+Spring Boot 2.0.0.M3Spring Cloud Starter Netflix Eureka Server Finchley.M2创建项目新建项目文件夹:将hello-world项目中的源码文件复制粘贴到新项目文件夹中:修改源码修改build.gradle配置,修改Spring Boot版本、指定Spring Cloud...原创 2018-11-12 14:34:42 · 212 阅读 · 0 评论 -
Spring Cloud学习笔记14——集成 Eureka Client
开发环境JDK8+Gradle4+Spring Boot 2.0.0.M3Spring Cloud Starter Netflix Eureka Client Finchley.M2创建项目新建项目文件夹:将hello-world项目中的源码文件复制粘贴到新项目文件夹中:修改源码修改build.gradle配置,修改Spring Boot版本、指定Spring Cloud...原创 2018-11-12 15:52:30 · 234 阅读 · 0 评论 -
Spring Cloud学习笔记15——天气预报系统实现服务的注册与实现
开发环境JDK8+Gradle4+Redis 3.2.100Spring Boot 2.0.0.M3Spring Cloud Starter Netflix Eureka Client Finchley.M2创建项目复制之前的msa-weather-collection-server项目,将副本改名为msa-weather-collection-eureka修改源码修改...原创 2018-11-12 17:13:45 · 328 阅读 · 0 评论 -
Spring Cloud学习笔记16——微服务的消费、客户端负载均衡(Ribbon、Feign)
微服务的消费模式基于http的客户端经常被用作微服务的消费者,因为http本身是平台无关的、语言无关的,所以基于http的客户端往往会被广大的社区支持服务直连模式特点:简洁明了,只要传入一个URL,就能直接连过去,获取到资源平台语言无关性,非常直白,不需要特定框架、技术,能实现平台无关、语言无关无法保证服务的可用性,当需要链接某个IP下的某个资源时,如果这个IP地址或这个IP地址所绑...原创 2018-11-13 14:45:26 · 536 阅读 · 0 评论 -
Spring Cloud学习笔记17——天气预报系统微服务使用 Feign
回顾遗留的三个TODO数据采集微服务在天气数据同步任务中,依赖于城市数据API微服务天气预报微服务查询天气信息,依赖于天气数据API微服务天气预报微服务提供的城市列表,依赖于城市数据API微服务天气预报系统微服务使用Feignmsa-weather-collection-eureka-feign创建项目复制之前的msa-weather-collection-eureka项目,将...原创 2018-11-13 16:19:13 · 412 阅读 · 0 评论 -
Spring Cloud学习笔记18——API 网关(Zuul)
API 网关是一套主要用于统一API入口的应用组件,可以管理所有的API,形成一个API的入口API网关的意义集合多个API统一API入口API网关所带来的好处避免将内部信息泄露给外部为微服务添加额外的安全层支持混合通信协议降低构建微服务的复杂性微服务模拟与虚拟化API网关的弊端在架构上需要额外考虑更多编排与管理路由逻辑配置要进行统一的管理可能引发单点故障...原创 2018-11-13 16:52:44 · 307 阅读 · 0 评论 -
Spring Cloud学习笔记19——如何集成 Zuul
如何集成 Zuul原创 2018-11-14 09:47:06 · 248 阅读 · 0 评论 -
Spring Cloud学习笔记20——天气预报系统微服务实现 API 网关
API网关可以用来统一处理用户的所有请求,会根据不同请求路径将请求路由到不同的微服务中去集成Zuul创建项目以之前的micro-weather-eureka-client-zuul为蓝本,创建msa-weather-eureka-client-zuul项目修改源码修改application.properties配置文件:#应用名称spring.application.name=m...原创 2018-11-14 10:59:03 · 500 阅读 · 1 评论 -
Spring Cloud学习笔记21——微服务的集中化配置(Config)
微服务为什么需要集中化配置一般应用中都会有配置文件,即便是号称“零配置”的Spring Boot应用,也无法完全做到不使用配置文件,因为配置文件是为了迎合软件的一些个性化需求,所以说应用程序是无法避免这种配置的,特别是在微服务系统架构中,应用程序往往会部署在多个实例上,每个实例都有各自的不同的配置,如果配置发生了更改,每个服务实例都需要进行配置的变更,既然配置的变更无法避免,每个微服务自己的配置...原创 2018-11-14 16:40:54 · 530 阅读 · 0 评论 -
Spring Cloud学习笔记22——服务熔断、服务容错保护(Hystrix)
熔断器的意义好处:系统稳定减少性能损耗及时响应阀值可定制熔断器的功能异常处理日志记录测试失败的操作手动复位并发加速断路重试失败请求熔断与降级的区别相似性目的一致表现类似粒度一致主要区别触发条件不同管理目标的层次不同...原创 2018-11-14 18:37:04 · 801 阅读 · 0 评论 -
Spring Cloud学习笔记23——如何集成 Hystrix
Hystrix会监控微服务的调用状况,失败调用达到一定阀值时,会启用熔断机制开发环境JDK8+Gradle4+Spring Boot 2.0.0.M3Spring Cloud Starter Netflix Eureka Client Finchley.M2Spring Cloud Starter OpenFeign Finchley.M2Spring Cloud Starter ...原创 2018-11-14 19:09:02 · 251 阅读 · 0 评论 -
Spring Cloud学习笔记24——天气预报系统微服务实现熔断机制
创建项目以之前的msa-weather-report-eureka-feign-gateway为蓝本,创建msa-weather-report-eureka-feign-gateway-hystrix项目修改build.gradle配置,添加Hystrix依赖://依赖关系dependencies { //该依赖用于编译阶段 compile('org.springframew...原创 2018-11-15 10:43:53 · 519 阅读 · 1 评论 -
Spring Cloud学习笔记25——自动扩展
垂直扩展水平扩展自我注册和自我发现服务注册表客户端微服务实例按需扩展自动扩展的意义好处:提高了高可用性和容错能力增加了可伸缩性具有最佳使用率,并节约成本优先考虑某些服务或服务组自动扩展的常见模式自动扩展的不同级别应用程序级别基础架构级别自动扩展的常用方法资源限制特定时间段消息长度业务参数根据预测历史信息当前趋势如何实...原创 2018-11-15 14:10:23 · 1496 阅读 · 0 评论 -
Spring Cloud学习笔记26——Spring Cloud 微服务实战
Spring Boot入门项目构建Maven项目通过官方的Spring Initializr工具来产生基础项目。下载并解压生成的项目压缩包,并用IDE以Maven项目导入,以Intellij IDEA为例。单击Import project from external model并选择Maven,一直单击Next按钮。实现RESTful API在Spring Boot中创建一...原创 2018-11-30 17:50:06 · 403 阅读 · 0 评论 -
Spring Cloud学习笔记27——消息总线:Spring Cloud Bus
消息总线在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以我们称它为消息总线。在总线上的各个实例都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息,例如配置信息的变更或者其他一些管理操作等。由于消息总线在微服务架构系统中被广泛使用,所以它同配置中心一样,几乎是微服务架构中...原创 2018-12-06 16:15:55 · 187 阅读 · 0 评论 -
Spring Cloud学习笔记28——消息驱动的微服务:Spring Cloud Stream
Spring Cloud Stream是一个用来为微服务应用构建消息驱动能力的框架。它可以基于Spring Boot来创建独立的、可用于生产的Spring应用程序。它通过使用Spring Integration来连接消息代理中间件以实现消息事件驱动。Spring Cloud Stream为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并且引入了发布-订阅、消费组以及分区这三个核心概念。...原创 2018-12-06 16:54:20 · 349 阅读 · 0 评论