`
valiant025
  • 浏览: 15132 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。但是只使用Hystrix Dashboard的话, 你只能看到单个应用内的服务信息, 这明显不够。我们需要一个工具能让我们汇总系统内多个服务的数据并显示到Hystrix Dashboard上, 这个工具就是Turbine。 (了解源码可+求求: 1791743380) 1. Hystrix Dashboard 创建一个新的项目hystrix-dashboard,延用上一篇文章提到的eu ...
1. 熔断器 服务雪崩 在正常的微服务架构体系下,一个业务很少有只需要调用一个服务就可以返回数据的情况,这种比较常见的是出现在demo中,一般都是存在调用链的,比如A->B->C->D,如果D在某一个瞬间出现问题,比如网络波动,io偏高,导致卡顿,随着时间的流逝,后续的流量继续请求,会造成D的压力上升,有可能引起宕机。(了解源码可+求求: 1791743380) 你以为这就是结束么,图样图森破,这才是噩梦的开始,在同一个调用链上的ABC三个服务都会随着D的宕机而引发宕机,这还不是结束,一个服务不可能只有一个接口,当它开始卡顿宕机时,会影响到其他调用链的正常调用,最终导致 ...
本篇文章中需要三个角色,分别是服务的提供者,服务的消费者,还有一个是上一篇文章的主角——注册中心Eureka(使用单机版本即可,本篇的示例也会使用单机版本的Eureka)。 整体流程为:(了解源码可+求求: 1791743380) 先启动注册中心Eureka 启动服务的提供者将提供服务,并将服务注册到注册中心Eureka上 启动服务的消费者,在注册中心中找到服务并完成消费 1. 服务提供者 1. pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
      1. 前言 最近在网上看到,很多人都讲 Spring Boot Webflux 要超过 SpringMVC ,感觉在高并发的场景下, Spring Boot Webflux 简直就是银弹。(了解源码可+求求: 1791743380) 本文将通过最简单的方式,来简单测试对比一下 Spring Boot Webflux 和 SpringMVC 在高并发场景下的性能。 2. 准备 首先介绍一下本人的硬件情况: CPU:因特尔的 i7-8700内存:16G DDR4 2666系统:win10 压测工具选择 Apache 的 jmeter ,版本为 5.1.1 ( ...
      1. 引言 各位在开发的过程中肯定遇到过被接口文档折磨的经历,由于 RESTful 接口的轻量化以及低耦合性,我们在修改接口后文档更新不及时,导致接口的调用方(无论是前端还是后端)经常抱怨接口与文档不一致。程序员的特点是特别不喜欢写文档,但是又同时特别不喜欢别人不写文档。所以 API 文档工具这时就应运而生了,本篇文章我们将会介绍 API 文档工具 Swagger2 。 2. 快速上手 既然 Swagger2 是一个 API 文档工具,我们就在代码中看一下这个文档工具在 Spring Boot 中是如何使用的吧。(了解源码可+求求: 1791743380) ...
      1. 什么是响应式编程 在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。 (了解源码可+求求: 1791743380) 例如,在命令式编程环境中,a=b+c 表示将表达式的结果赋给 a,而之后改变 b 或 c 的值不会影响 a 。但在响应式编程中,a 的值会随着 b 或 c 的更新而更新。 响应式编程是基于异步和事件驱动的非阻塞程序,只需要在程序内启动少量线程扩展,而不是水平通 ...
      1. 前言 RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷、消息分发的作用。 消息队列在比较主要的一个作用是用来做应用服务的解耦,消息从消息的生产者传递到消息队列,消费者从消息队列中获取消息并进行消费,生产者不需要管是谁在消费消息,消费者也无需关注消息是由谁来生产的。在分布式的系统中,消息队列也会被用在其他地方,比如分布式事务的支持,代表如阿里开源的 RocketMQ 。 当然,我们本篇文章的主角还是 RabbitMQ 。 2. RabbitMQ 介绍 RabbitM ...
      在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么,在 Spring Boot 中是如何实现的呢? 1. 添加依赖 在 pom.xml 文件中只需引入 spring-boot-starter 的依赖即可: 代码清单:spring-boot-scheduler/pom.xml Java代码  
      最早我们发邮件的时候是使用 JavaMail 来发送邮件,而在 Spring Boot 中, Spring Boot 帮我们将 JavaMail 封装好了,是可以直接拿来使用的。(了解源码可+求求: 1791743380) 1. 依赖文件 pom.xml 代码清单:spring-boot-mail/pom.xml Java代码  
      1. 引言 在微服务的体系中,我们的服务数量是非常多的,这同样不方便我们人工管理,在这样的背景下,诞生了另一个开源软件,也是本篇文章要介绍的: Spring Boot Admin 。 2. Spring Boot Admin 简介 Spring Boot Admin 是一个 Web 应用,用于管理和监视 Spring Boot 应用程序的运行状态。每个 Spring Boot 应用程序都被视为客户端并注册到管理服务器。背后的数据采集是由 Spring Boot Actuator 端点提供。前端 Spring Boot Admin UI 展示使用 VueJs 将 ...
      1. 引言 在当前的微服务架构方式下,我们会有很多的服务部署在不同的机器上,相互是通过服务调用的方式进行交互,一个完整的业务流程中间会经过很多个微服务的处理和传递,那么,如何能知道每个服务的健康状况就显得尤为重要。 万幸的是 Spring Boot 为我们提供了监控模块 Spring Boot Actuator ,本篇文章将和大家一起探讨一些 Spring Boot Actuator 一些常见用法方便我们在日常的使用中对我们的微服务进行监控治理。 Spring Boot Actuator 帮我们实现了对程序内部运行情况监控,比如监控状况、Bean加载情况、环 ...
1. Spring Boot是什么? Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 讲的通俗一点就是Spring Boot并不是一个新的框架,它只是整合和默认实现了很多框架的配置方式。(了解源码可+求求: 1791743380) 2. 好处是什么? 最大的好处就是简单、快捷、方便,在Spring Boot之前,我们如果要搭建一个框架需要做什么? 配置web.xml,加载Spring和Spring MVC,加载各种过滤器、拦 ...
1. 什么是 Thymeleaf ? 虽然我们目前拥有许多十分优秀的前端框架,例如: Vue 、 React 等,非常适用于前后端分离的场景,前端可以独立部署成为服务,前后端从物理上完全进行隔离,降低程序耦合度。但是 Spring Boot 官方依然为我们提供了模版引擎用于一些无需前后端分离的场景。 Thymeleaf 是新一代的模板引擎,在 Spring Boot 中,官方推荐使用 Thymeleaf 来做前端模版引擎。打开 https://start.spring.io/ 可以看到,在当前Spring Boot 的版本中( 2.1.8.RELEASE ), 官方提供的模版引擎有以下几种: ...
1.单体架构模式方案       (1)      单个java  WAR文件    (2)      单个Rails或者NodeJS代码目录层级    2.单体架构模式的优缺点   (1)优点   l  为人所熟知:现有的大部分工具、应用服务器、框架和脚本都是这种应用程序;   l  IDE友好:像NetBeans、Eclipse、IntelliJ这些开发环境都是针对开发、部署、调试这样的单个应用而设计的;   l  易于测试:单体应用一旦部署,所有的服务或特性就都可以使用了,这简化了测试过程,因为没有额外的依赖,每项测试都可以在部署完成后立刻开始;   ...
  一。背景 业务架构是战略,应用架构是战术,技术架构是装备。 在开发服务端企业应用时,需要支持各种客户段,包括PC桌面浏览器,移动浏览器及原生移动应用,应用还需要向第三方提供可访问的API,并通过WebSevice或者消息代理与其他应用进行集成。应用通过业务逻辑,访问数据库,与其他服务交换信息,并返回一条HTML/XML/JSON响应,来处理请求。   应用采用多层架构或六角架构,主要由以下不同组建组成:   1.      展现组件   负责处理http请求,并响应html或者JSON/XML   2.      业务逻辑   应用的业务逻辑   3.  ...
Global site tag (gtag.js) - Google Analytics