摘要:
准备工作 系统要求 Docker CE 支持以下版本的 Ubuntu 操作系统: Artful 17.10 (Docker CE 17.11 Edge +) Xenial 16.04 (LTS) Trusty 14.04 (LTS) Docker CE 可以安装在 64 位的 x86 平台或 ARM 阅读全文
摘要:
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如: Docker 官方提供的中国 registry mirror 阿里云加速器 DaoCloud 加速器 我们以 Docker 官方加速器为例进行介绍。 Ub 阅读全文
摘要:
POM 主要增加了 依赖 " " 消息消费者服务 主要使用 注解来订阅从名为 的 Binding 中接收的消息 " " Application 配置 Input( ) 的 Binding 信息并配合 注解使其生效 " " application.yml 运行成功后即可在控制台接收到消息:`Recei 阅读全文
摘要:
概述 在实际生产中,我们需要发布和订阅的消息可能不止一种 Topic ,故此时就需要使用自定义 Binding 来帮我们实现多 Topic 的发布和订阅功能 生产者 自定义 Output 接口,代码如下: public interface MySource { @Output("output1") 阅读全文
摘要:
概述 RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。 由于本教程整个案例基于 Spring Cloud,故我们采用 Spring Cloud Stream 完成一次发布和订阅 "官方教程" " " Spring Cloud Stre 阅读全文
摘要:
概述 消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势: 削峰填谷: 主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题 系统解耦: 解决不同重要程度、不同能力级别系统之间依赖导致一死全死 提升性能: 当存在一对多调用时,可以发一条消息 阅读全文
摘要:
docker compose.yml 注意:启动 RocketMQ Server + Broker + Console 至少需要 2G 内存 version: '3.5' services: rmqnamesrv: image: foxiswho/rocketmq:server container_ 阅读全文
摘要:
什么是 MQ Message Queue(MQ),消息队列中间件。很多人都说:MQ 通过将消息的发送和接收分离来实现应用程序的异步和解偶,这个给人的直觉是——MQ 是异步的,用来解耦的,但是这个只是 MQ 的效果而不是目的。MQ 真正的目的是为了通讯,屏蔽底层复杂的通讯协议,定义了一套应用层的、更加 阅读全文
摘要:
什么是 Assembly Plugin Assembly 插件目的是提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 " " Assembly 支持的归档文件类型 zip tar.gz tar.bz2 jar dir war " " 使用步骤 此处以将 SkyWalking 探 阅读全文
摘要:
Java Agent 服务器探针 参考官网给出的帮助 "Setup java agent" ,我们需要使用官方提供的探针为我们达到监控的目的,按照实际情况我们需要实现三种部署方式 IDEA 部署探针 Java 启动方式部署探针(我们是 Spring Boot 应用程序,需要使用 的方式启动应用) D 阅读全文
摘要:
基于 Docker 安装 ElasticSearch 在 " 为什么需要链路追踪 " 章节中介绍过 SkyWalking 存储方案有多种,官方推荐的方案是 ElasticSearch ,所以我们需要先安装 ElasticSearch。 " " docker compose.yml 其中, 端口号为 阅读全文
摘要:
什么是链路追踪 微服务架构是通过业务来划分服务的,使用 REST 调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。 随着服务的越来越多,对调用链的分析会越来越 阅读全文
摘要:
Spring Boot Profile 我们在做项目开发的时候,生产环境和测试环境的一些配置可能会不一样,有时候一些功能也可能会不一样,所以我们可能会在上线的时候手工修改这些配置信息。但是 Spring 中为我们提供了 Profile 这个功能。我们只需要在启动的时候添加一个虚拟机参数,激活自己环境 阅读全文
摘要:
POM 此处我们以之前创建的 " 服务提供者 " 项目为例 在 中增加 依赖 完整的 如下: " " bootstrap.properties 创建名为 的配置文件并删除之前创建的 配置文件,由于已经在服务端配置,此处不再赘述 注意:在之前的 Spring Cloud Netflix 课程中有提到过 阅读全文
摘要:
分布式配置中心 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。 " " Nacos Config Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cl 阅读全文
摘要:
概述 全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证,IP 访问限制等等。 注意:截止博客发表时间 2019 年 01 月 10 日,Spring Cloud Gateway 正式版为 2.0.2 其文档并不完善,并且有些地方还要重新设计,这里仅 阅读全文
摘要:
什么是 Spring Cloud Gateway Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单而 阅读全文
摘要:
" " Sentinel 控制台 Sentinel 控制台提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。您只需要对应用进行简单的配置,就可以使用这些功能。 注意: 集群资源汇总仅支持 500 台以下的应用集群,有大概 1 2 秒的延时。 " " 下载并打 阅读全文
摘要:
概述 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过 相互调用,在 Spring Cloud 中可以用 和 来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有 阅读全文
摘要:
概述 Feign 是一个声明式的伪 Http 客户端,它使得写 Http 客户端变得更简单。使用 Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用 Feign 注解和 JAX RS 注解。Feign 支持可插拔的编码器和解码器。Feign 默认集成了 Ribbon,Nacos 也 阅读全文