公众号: java乐园Redis是一种nosql数据库,以键值对<key,value>的形式存储数据,其速度相比于MySQL之类的数据库,相当于内存读写与硬盘读写的差别,所以常常用作缓存,用于少写多读的场景下,直接从缓存拿数据比从数据库(数据库要I/O操作)拿要快得多。Redis目前几乎无处不在,大公司小公司都在用。 Spring cloud 2.x版本后默认Redis客户端连接池类型
.
公众号: java乐园在做项目时有时候会有定时器任务的功能,比如某某时间应该做什么,多少秒应该怎么样之类的。定时任务常用的业务场景是进行数据统计。spring支持多种定时任务的实现,今天介绍一下spring定时器和quartz定时器的使用。一、 spring定时器spring自带支持定时器的任务实现。其可通过简单配置来实现定时任务。主要用到如下两注解: @EnableScheduli...
公
公众号: java乐园上一篇简介了Zipkin Server的搭建,但是从Spring boot 2.x版本后,Zipkin官网已经不再推荐自己搭建定制Zipkin,而是直接提供了编译好的jar包。详情可以查看官网:https://zipkin.io/pages/quickstart.html 有了Zipkin Server还不能对微服务的调用链路进行人祸监控,Zipkin Server可以被认为
公众号: java乐园 上两篇讲解了zipkin,这篇总结一下。其实Spring Cloud实施分布式跟踪解决方案所用的技术不仅仅是zipkin。在spring官网:http://spring.io/projects/spring-cloud-sleuth 有这么一段话: 翻译过来: Spring Cloud Sleuth是Spring Cloud实施分布式跟踪解决方案,大量借用Dapper,Zi
公众号: java乐园前几篇已经实现了对单个服务实例的监控,当然在实际应用中,单个实例的监控数据没有多大的价值,我们其实更需要的是一个集群系统的监控信息,这时就需要引入Turbine。Turbine能够汇集监控信息,并将聚合后的信息提供给Hystrix Dashboard来集中展示和监控。 本文将结合之前学习的注册中心Eureka、服务提供者Provider、断路器Hystrix和仪表盘Dashb
公众号:java乐园日常生活是由规则驱动的。红灯停绿灯行,这是我们的交通规则;我们站着往上跳,最终还是要落下来,这是地球的引力规则。规则在生活中无处不在。软件开发中我们也需要规则,满足什么规则应该进入什么分支。如果做过风控系统,就知道风控系统里存在非常多的规则(比如:age < 16 || age > 50 -> REJECT )。最便捷的实现就是用 if-else 来写,但是随
随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。现今业界分布式服务跟踪的理论基础主要来自于 Google 的一篇论文《Dapper, a Large-Scale Distributed Sys
公众号: java 乐园在微服务架构中如何去监控服务的状态是否正常,非常重要。为例保证微服务的可用性,防止程序断路器模型。运维人员需要一个友好的程序来监控微服务的状态, Hystrix Dashboard作为断路器监控的一个重要组件,提供了数据监控及非常友好的图形化界面,方便运维人员对服务进行监控;,通过界面反馈的信息可以快速发现系统中存在的问题。另外Hystrix Dashboard是一个独立的
公众号: java 乐园上编说了《RestTemplate+Ribbon整合断路器Hystrix》,这篇来看看如何Feign整合断路器Hystrix,Feign整合断路器Hystrix也是相对比较简单的。Feign默认已经自带断路器Hystrix,所以不需要像RestTemplate+Ribbon整合断路器Hystrix那样需要在SpringBoot的启动类添加注解。但是Feign自带断路器并没有
Spring Cloud 2.x系列之 eureka注册中心集群 1、 Eureka作为spring cloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单机模式下的eureka服务,显然不能满足高可用的实际生产环境,这就要求配置一个能够应对各种突发情况,具有较强容灾能力的eureka服务。Eureka通过“伙伴机制”实现高可用。每一台Eureka都需要在配置中指定另外两个Eure
1 Java程序实现密钥库的维护 1.1 Java程序列出密钥库所有条目import java.util.*; import java.io.*; import java.security.*; public class ShowAlias{ public static void main(String args[ ]) throws Exception{ ...
线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(intcorePoolSize, int maximumPoolSize, longkeepAliveTime, TimeUnit unit, BlockingQueueworkQueue, RejectedExecutionHandlerhan
通过SocketCon
ifconfig...
Dubbo+Zookeeper+SpringM目录Dubbo+Zookeeper+SpringMVC整合实现分布式服务治理框架... 1一、分布式服务治理架构原理分析... 3二、先决条件... 5三、Zookeeper安装与配置... 63.1 Zookeeper下载与解压... 63.2 复制和编辑配置文件... 63.3 创建myid文件... 73.4 Zookeeper启动与
一台机器启动多个activeMQ 1、brokerName修改 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}"> 2、修改activemq.xml文件
@echo off :dosmenu REM 选择菜单 echo #**********************************************************************# echo Windows 服务启动脚本 made by 黄金进 2010年10月5日 &
java core知识谱图j2ee知识谱图git知识谱图关注技术公众号
1、 添加git用户useradd -m git2、 修改git用户密码(密码为git)passwd git3、 &n
插件开发 eclipse
持续集成 jenkins
jenkins SonarQube
RT身份证动态库有些信息存储使用该编码在java中调用dll返回信息时的byte数组是GB18000编码这时使用new String(buff,"utf-16BL")即可解决乱码问题
semaphore(seməˌfôr)含义:信号量就是可以声明多把锁(包括一把锁:此时为互斥信
简介项目中,请求时发送超大 json 数据外;响应时也有可能返回超大 json数据。上一篇实现了请求数据的 gzip 压缩。本篇通过 filter 实现对响应 json 数据的压缩。 先了解一下以下两个概念:请求头:Accept-Encoding : gzip告诉服务器,该浏览器支持 gzip 压缩响应头:Content-Encoding : gzip告诉浏览器,输出信息使用了 gzip 进行压缩
1.概述在本教程中将了解Reactor Core库的Flux和Mono之间的区别。2.什么是Mono?Mono是一种特殊类型的Publisher。Mono对象表示单个或空值。这意味着它最多只能为onNext() 请求发出一个值,然后以onComplete()信号终止。如果失败,它只会发出一个onError()信号。看一个带有完成信号的Mono示例:@Test public void givenMo
1.安装erlang下载otp_win64_25.3.exehttps://www.erlang.org/downloadserlang安装完成,需要配置erlang环境变量ERLANG_HOME=E:\software\Erlang OTP PATH=%PATH%;%ERLANG_HOME%\bin;2.安装RabbitMQ下载rabbitmq-server-3.11.13.exehttps:
1.工作模式工作模式也被称为任务模型(Task Queues)。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用 work 模型:让多个消费者绑定到一个队列,共同消费队列中的消息。队列中的消息一旦消费,就会消失,因此任务是不会被重复执行。这种模式只有一个生产者Producer,一个用于存储消息的队列 Queue、多个
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号