摘要:
待续…… 阅读全文
摘要:
前言 近年SpringCloud与SpringBoot更新迭代非常频繁,导致我们对两者的版本选型非常的困难。若是版本选择有问题, 会导致开发中调试兼容性占用非常多的得必要时间。 SpringCloud版本介绍 Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节 阅读全文
摘要:
RabbitMQ概述 RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分 阅读全文
摘要:
分布式系统面临的问题 复杂的分布式体系结构中的应用程序有数十个依赖关系, 每个依赖关系在某些时刻不可避免的失败。 服务雪崩效应 多个微服务调用的时候, 假设微服务A调用微服务B和微服务C, 微服务B和微服务C又调用其它的微服务, 这就是所谓的"扇出"。如果扇出的链路上某个微服务的调用响应时间过长或不 阅读全文
摘要:
Feign概述 Feign是声明式的Web服务客户端, 使得编写Web服务客户端变的非常容易, 只需要创建一个接口, 然后在上面添加注解即可。 Feign旨在使编写Java Http客户端变的更容易。 在使用Ribbon+RestTemplate时, 利用RestTemplate对http请求的封装 阅读全文
摘要:
Ribbon概述 SpringCloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具。 简单的说, Ribbon是Netflix发布的开源项目, 主要功能是提供客户端软件的负载均衡算法, 将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配 阅读全文
摘要:
Eureka概述 Eureka是Netflix的一个子模块, 也是核心模块之一。Eureka是一个基于REST的服务, 用于定位服务, 以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务框架来说非常重要, 有了服务注册和发现, 只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用 阅读全文
摘要:
代码实操 创建父工程: microservicecloud 创建公共模块api:microservicecloudapi SQL脚本: 此学习路线总共创建3个库, 分别为clouddb01, clouddb02, clouddb03 1 /* 2 Navicat Premium Data Trans 阅读全文
摘要:
微服务架构 微服务架构是一种架构模式或者说是一种架构风格, 他提倡将单一应用程序划分成一组小的服务, 每个服务运行在其独立的进程中, 服务之间互相协调,互相配合, 为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。 微服务优点 微服务只是业务逻辑 阅读全文
摘要:
在实际工作中, 此bean可能是满足业务需要的核心逻辑, 例如test()方法中可能会封装着某个核心业务, 如果在test()方法前后加入日志来跟踪调试, 直接修改源码并不符合面向对象的设计模式, 而随意改动源码也会造成一定的风险。不用怕, Spring为此提供了解决方案。 1.创建用于拦截的bea 阅读全文