好一则博
  • 首页
  • 归档
  • 分类
  • 标签
  • 书单
  • 工具
  • 关于
Spring Cloud(七):配置中心(Git版与动态刷新)【Finchley 版】

Spring Cloud(七):配置中心(Git版与动态刷新)【Finchley 版】

Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密 / 解密信息等访问接口;而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配
2018-04-19
Technology > Spring
#Spring Cloud #Microservices #Spring Cloud Config
Spring Cloud(六):Hystrix 监控数据聚合 Turbine【Finchley 版】

Spring Cloud(六):Hystrix 监控数据聚合 Turbine【Finchley 版】

上一篇我们介绍了使用 Hystrix Dashboard 来展示 Hystrix 用于熔断的各项度量指标。通过 Hystrix Dashboard,我们可以方便的查看服务实例的综合情况,比如:服务调用次数、服务调用延迟等。但是仅通过 Hystrix Dashboard 我们只能实现对服务当个实例的数据展现,在生产环境我们的服务是肯定需要做高可用的,那么对于多实例的情况,我们就需要将这些度量指标数据
2018-04-18
Technology > Spring
#Spring Cloud #Microservices #Hystrix #Feign #Turbine
Spring Cloud(五):Hystrix 监控面板【Finchley 版】

Spring Cloud(五):Hystrix 监控面板【Finchley 版】

在上一篇 Hystrix 的介绍中,我们提到断路器是根据一段时间窗内的请求情况来判断并操作断路器的打开和关闭状态的。而这些请求情况的指标信息都是 HystrixCommand 和 HystrixObservableCommand 实例在执行过程中记录的重要度量信息,它们除了 Hystrix 断路器实现中使用之外,对于系统运维也有非常大的帮助。这些指标信息会以 “滚动时间窗” 与 “桶” 结合的方式
2018-04-16
Technology > Spring
#Spring Cloud #Microservices #Netflix #Hystrix #Feign
Spring Cloud(四):服务容错保护 Hystrix【Finchley 版】

Spring Cloud(四):服务容错保护 Hystrix【Finchley 版】

分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况,这种现象被称为服务雪崩效应。为了应对服务雪崩,一种常见的做法是手动服务降级。而 Hystrix 的出现,给我们提供了另一种选择。 Hystrix [hɪst’rɪks] 的中文含义是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与 Hystrix 本身的功能不谋而合,因此 Netflix 团队将该框
2018-04-16
Technology > Spring
#Spring Cloud #Microservices #Netflix #Hystrix #Feign
Spring Cloud(三):服务提供与调用 Eureka【Finchley 版】

Spring Cloud(三):服务提供与调用 Eureka【Finchley 版】

上一篇文章我们介绍了 Eureka 服务注册中心的搭建,这篇文章介绍一下如何使用 Eureka 服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。 案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的 Eureka 单节点启动既可。流程如下: 启动注册中心 服务提供者生产服务并注册到服务中心中 消费者从服务中心中获取服务并执行
2018-04-16
Technology > Spring
#Spring Cloud #Microservices #Netflix #Eureka #Ribbon #Feign
Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】

Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】

上一篇主要介绍了相关理论,这一篇开始我们来一个个的实践一下。 Just code it. 本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.RC1 版本
2018-04-16
Technology > Spring
#Spring Cloud #Microservices #Netflix #Eureka
Spring Cloud(一):服务治理技术概览【Finchley 版】

Spring Cloud(一):服务治理技术概览【Finchley 版】

Spring Cloud Netflix 是 Spring Cloud 中的一套框架,由 Netflix 开发后来又并入 Spring Cloud 大家庭,它主要提供的模块包括:服务发现、断路器和监控、智能路由、客户端负载均衡等。 本文从 Spring Cloud 中的核心项目 Spring Cloud Netflix 入手,阐述了 Spring Cloud Netflix 的优势,介绍了 Spr
2018-04-14
Technology > Spring
#Spring Cloud #Microservices #Netflix #Eureka #Ribbon #Hystrix #Feign
Spring Cloud(零):微服务的那些事儿

Spring Cloud(零):微服务的那些事儿

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。Spring 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot 风格
2018-04-14
Technology > Spring
#Spring Cloud #Microservices #Dubbo
Shell 脚本切换 Maven 的 settings.xml

Shell 脚本切换 Maven 的 settings.xml

前言在公司都用公司内部的 Maven 私服,在家只能用公网的 Maven 仓库,在家和在公司的配置又都不一样。虽然可以通过修改 setting.xml 中 activeProfile 来设置,或者通过配置多个仓库来解决问题。不过为了清晰起见,我还是喜欢将配置分开来。 但我这人又懒,每次打开隐藏目录去切换设置又不现实。为了方便,就写个脚本来切换吧。
2018-04-14
Technology
#Shell Script #Maven
RabbitMQ(六):远程过程调用(RPC)

RabbitMQ(六):远程过程调用(RPC)

前言 先决条件✔️ 正确安装 RabbitMQ 并将其运行在 localhost:5672 上✔️ 已经了解了 RabbitMQ 中的一些基础概念 在第二篇教程中我们介绍了如何使用工作队列(work queue)在多个工作者(woker)中间分发耗时的任务。 可是如果我们需要将一个函数运行在远程计算机上并且等待从那儿获取结果时,该怎么办呢?这就是另外的故事了。这种模式通常被称为远程过程调用(Re
2018-04-13
Technology
#Spring Boot #MQ #RPC
RabbitMQ(五):主题(Topics)

RabbitMQ(五):主题(Topics)

前言 先决条件✔️ 正确安装 RabbitMQ 并将其运行在 localhost:5672 上✔️ 已经了解了 RabbitMQ 中的一些基础概念 在上一个教程中,我们改进了我们的日志系统。我们使用 direct exchange 替代了 fanout exchange,从只能盲目的广播消息改进为有可能选择性的接收日志。 尽管 direct exchange 能够改善我们的系统,但是它也有它的限
2018-04-13
Technology
#Spring Boot #MQ
RabbitMQ(四):路由(Routing)

RabbitMQ(四):路由(Routing)

前言 先决条件✔️ 正确安装 RabbitMQ 并将其运行在 localhost:5672 上✔️ 已经了解了 RabbitMQ 中的一些基础概念 在上一个教程中,我们构建了一个简单的 fanout exchange,从而能够向许多消费者广播消息。 在本文中,我们将实现另一个功能——只订阅一部分消息。例如,我们只需要把严重的错误日志信息写入日志文件(存储到磁盘),但同时仍然把所有的日志信息输出到
2018-04-13
Technology
#Spring Boot #MQ
RabbitMQ(三):发布订阅(Publish/Subscribe)

RabbitMQ(三):发布订阅(Publish/Subscribe)

前言 先决条件✔️ 正确安装 RabbitMQ 并将其运行在 localhost:5672 上✔️ 已经了解了 RabbitMQ 中的一些基础概念 在第一篇教程中,我们展示了如何利用 Spring Initializr 创建一个具有 RabbitMQ 依赖项的项目,以创建一个 Spring AMQP 程序。 在上篇教程中,我们创建了一个包含两个消费者的工作队列,每个任务只分发给一个工作者(wor
2018-04-13
Technology
#Spring Boot #MQ
RabbitMQ(二):工作队列(Work queues)

RabbitMQ(二):工作队列(Work queues)

前言 先决条件✔️ 正确安装 RabbitMQ 并将其运行在 localhost:5672 上✔️ 已经了解了 RabbitMQ 中的一些基础概念 在前一篇中,我们实现一个简单的发送、接收消息的程序。在本文中,我们将创建一个工作队列,用于在多个消费者之间分发耗时的任务。 工作队列(也称为:任务队列,Task Queues)主要是为了避免等待一些占用大量资源、时间的操作。当我们把任务(Task)
2018-04-13
Technology
#Spring Boot #MQ
RabbitMQ(一):Hello World

RabbitMQ(一):Hello World

前言 先决条件✔️ 正确安装 RabbitMQ 并将其运行在 localhost:5672 上✔️ 已经了解了 RabbitMQ 中的一些基础概念 在本文中,我们将通过在 Spring Boot 应用中整合 RabbitMQ,并实现一个简单的发送、接收消息的例子来对 RabbitMQ 有一个直观的感受和理解。
2018-04-13
Technology
#Spring Boot #MQ
RabbitMQ(零):基础概念

RabbitMQ(零):基础概念

前言说 RabbitMQ 之前先说两个概念:Message Broker 和 AMQP Message Broker 是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景: 消息路由到一个或多个目的地 消息转化为其他的表现方式 执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户 调用 Web 服务来检索数据 响应事件或错误 使用发布 - 订阅
2018-04-12
Technology
#Spring Boot #MQ
在 macOS 中使用 jEnv 管理多个 Java 版本

在 macOS 中使用 jEnv 管理多个 Java 版本

在使用 Java 开发时候,经常会接触到不同的版本。比如我大部分的时间使用的都是 Java 8,而有时又想看看 Java 7 的源代码,现在 Java 9、10 都出来了,又想试试新特性。一般情况下都是是配置 JAVA_HOME,以指定特定的 Java 版本,但是这都需要手动输入。每次都要这么重新设置,实在是太痛苦了。终于,我发现了 jEnv - Manage your Java environm
2018-04-05
Technology
#macOS #Java
再说 Spring AOP

再说 Spring AOP

什么是 AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是 OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP 引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP 则显得无能为力。也就是说,OOP 允许你定义从上到下的关系,但并不适合
2018-04-02
Technology > Spring
#Spring
Java 7/8 中的 HashMap 和 ConcurrentHashMap 全解析

Java 7/8 中的 HashMap 和 ConcurrentHashMap 全解析

今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍。本来以为花不了多少时间的,不过最终还是投入了挺多时间来完成这篇文章的。 网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不清
2018-02-03
Technology
#Java
Git 中的各种后悔药

Git 中的各种后悔药

Git 强大的撤销、版本回退功能,让我们在开发的过程中能够随意的回到任何一个时间点的状态,本文我们就来看看 Git 中的各种后悔药! 本文将从如下三个方面介绍 Git 中的后悔药: 工作区的代码想撤销 add 到暂存区的代码想撤销 提交到本地仓库的代码想撤销
2017-11-14
Technology
#Git
123456

搜索

Hexo Fluid
京ICP备19056074号-2