java
极客挖掘机
一个来自十八线城乡结合部破写代码的,平时喜欢读读书、写写代码,从2019年开始运营有自己的个人公众号:极客挖掘机,想交流的朋友可以来公众号找我聊天。
展开
-
Spring Boot (十五): 优雅的使用 API 文档工具 Swagger2
1. 引言各位在开发的过程中肯定遇到过被接口文档折磨的经历,由于 RESTful 接口的轻量化以及低耦合性,我们在修改接口后文档更新不及时,导致接口的调用方(无论是前端还是后端)经常抱怨接口与文档不一致。程序员的特点是特别不喜欢写文档,但是又同时特别不喜欢别人不写文档。所以 API 文档工具这时就应运而生了,本篇文章我们将会介绍 API 文档工具 Swagger2 。2. 快速上手既然 S...原创 2019-10-17 08:42:26 · 907 阅读 · 0 评论 -
Spring Boot (十四): 响应式编程以及 Spring Boot Webflux 快速入门
1. 什么是响应式编程在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。例如,在命令式编程环境中,a=b c 表示将表达式的结果赋给 a,而之后改变 b 或 c 的值不会影响 a 。但在响应式编程中,a 的值会随着...原创 2019-10-16 08:44:45 · 1377 阅读 · 0 评论 -
Spring Boot (十三): Spring Boot 整合 RabbitMQ
1. 前言RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷、消息分发的作用。消息队列在比较主要的一个作用是用来做应用服务的解耦,消息从消息的生产者传递到消息队列,消费者从消息队列中获取消息并进行消费,生产者不需要管是谁在消费消息,消费者也无需关注消息是由谁来生产的。在分布式的系统中,消息队列也会被用在其他...原创 2019-10-15 08:43:13 · 2776 阅读 · 1 评论 -
Spring Boot (十二): Spring Boot 邮件服务
最早我们发邮件的时候是使用 JavaMail 来发送邮件,而在 Spring Boot 中, Spring Boot 帮我们将 JavaMail 封装好了,是可以直接拿来使用的。1. 依赖文件 pom.xml代码清单:spring-boot-mail/pom.xml***<dependencies> <dependency> <grou...原创 2019-10-14 08:42:08 · 1471 阅读 · 0 评论 -
Spring Boot (十一): Spring Boot 定时任务
在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么,在 Spring Boot 中是如何实现的呢?1. 添加依赖在 pom.xml 文件中只需引入 spring-boot-starter 的依赖即可:代码清单:spring-boot-scheduler/pom.xml***<dependencies> <dependency> ...原创 2019-10-12 08:44:31 · 1307 阅读 · 0 评论 -
跟我学SpringCloud | 第二十章:Spring Cloud 之 okhttp
1. 什么是 okhttp ?okhttp 是由 square 公司开源的一个 http 客户端。在 Java 平台上,Java 标准库提供了 HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API 不够友好,所提供的功能也有限。大部分 Java 程序都选择使用 Apache 的开源项目 HttpClient 作为 HTTP 客户端...原创 2019-09-26 08:44:33 · 740 阅读 · 0 评论 -
Spring Cloud Alibaba | Dubbo 与 Spring Cloud 完美结合
Dubbo 与 Spring Cloud 完美结合1. 概述可能说起来Dubbo,很多人都不陌生,这毕竟是一款从2012年就开始开源的Java RPC框架,中间由于各种各样的原因停止更新4年半的时间,中间只发过一个小版本修了一个小bug,甚至大家都以为这个项目已经死掉了,竟然又在2017年9月份恢复了更新,不可谓不神奇。网络上很多人都拿Dubbo和Spring Cloud做对比,可能在大家...原创 2019-09-19 08:46:10 · 641 阅读 · 0 评论 -
Spring Cloud Alibaba | Dubbo Spring Cloud 之 HTTP 实战
上一篇文章《Spring Cloud Alibaba | Dubbo 与 Spring Cloud 完美结合》我们介绍了Dubbo Spring Cloud的基本使用,使用的服务中心为Spring Cloud Alibaba提供的Nacos,Dubbo内部提供了基于Dubbo的RPC调用,同时,Dubbo Spring Cloud在整合了Spring Cloud之后,可以直接提供HTTP接口,同...原创 2019-09-20 08:44:50 · 1649 阅读 · 0 评论 -
Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵动态限流规则
Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵动态限流规则前面几篇文章较为详细的介绍了Sentinel的使用姿势,还没看过的小伙伴可以访问以下链接查看:《Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战》《Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵进阶实战》...原创 2019-09-16 09:36:45 · 1545 阅读 · 2 评论 -
Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵进阶实战
Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵进阶实战在阅读本文前,建议先阅读《Spring Cloud Alibaba | Sentinel:分布式系统的流量防卫兵基础实战》。1. Sentinel整合Feign和RestTemplateSentinel目前已经同时支持Feign和RestTemplate,需要我们引入对应的依赖,在使用Feign的时...原创 2019-09-13 08:41:16 · 2622 阅读 · 0 评论 -
Spring Cloud Alibaba | 微服务分布式事务之Seata
Spring Cloud Alibaba | 微服务分布式事务之Seata本篇实战所使用Spring有关版本:SpringBoot:2.1.7.RELEASESpring Cloud:Greenwich.SR2Spring CLoud Alibaba:2.1.0.RELEASE1. 概述在构建微服务的过程中,不管是使用什么框架、组件来构建,都绕不开一个问题,跨服务的业务操作如...原创 2019-09-11 08:35:06 · 1479 阅读 · 2 评论 -
Spring Boot (三): ORM 框架 JPA 与连接池 Hikari
前面两篇文章我们介绍了如何快速创建一个 Spring Boot 工程《Spring Boot(一):快速开始》和在 Spring Boot 中如何使用模版引擎 Thymeleaf 渲染一个Web页面《Spring Boot (二):模版引擎 Thymeleaf 渲染 Web 页面》,本篇文章我们继续介绍在 Spring Boot 中如何使用数据库。1. 概述数据库方面我们选用 Mys...原创 2019-09-22 08:30:03 · 1648 阅读 · 0 评论 -
跟我学SpringCloud | 第十八篇:微服务 Docker 化之基础环境
1. 容器化Docker 的横空出世,给了容器技术带来了质的飞跃,Docker 标准化了服务的基础设施,统一了应用的打包分发,部署以及操作系统相关类库等,解决了测试生产部署时环境差异的问题。对于运维来讲,由于镜像的不可变性,更容易进行服务部署和回滚操作。利用各种第三方容器管理平台,实现一键部署、动态伸缩等操作变的轻而易举。2. 基础镜像选择在操作系统的选择上,可选择传统的 CentOS 、...原创 2019-09-23 08:45:17 · 2282 阅读 · 1 评论 -
跟我学SpringCloud | 第十九章:Spring Cloud 组件 Docker 化
前面的文章《跟我学SpringCloud | 第十八篇:微服务 Docker 化之基础环境》我们介绍了基础环境系统和 JRE 的容器化,这一节我们介绍 Spring Cloud 组件的容器化,主要包括 eureka-server 、 gateway-server 和 provider-server 。1. Docker 化配置这里我们根据 dockerfile-maven-plugin 这个...原创 2019-09-24 08:44:30 · 1805 阅读 · 0 评论 -
Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用
Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用1. 引言在上一篇文章《Spring Boot (九): 微服务应用监控 Spring Boot Actuator 详解》我们介绍了 Spring Boot 基于 Spring Boot Actuator 的服务监控, Spring Boot Actuator 提供了对单个 Spring ...原创 2019-10-10 08:43:45 · 797 阅读 · 0 评论 -
Spring Boot (九): 微服务应用监控 Spring Boot Actuator 详解
1. 引言在当前的微服务架构方式下,我们会有很多的服务部署在不同的机器上,相互是通过服务调用的方式进行交互,一个完整的业务流程中间会经过很多个微服务的处理和传递,那么,如何能知道每个服务的健康状况就显得尤为重要。万幸的是 Spring Boot 为我们提供了监控模块 Spring Boot Actuator ,本篇文章将和大家一起探讨一些 Spring Boot Actuator 一些常见用...原创 2019-10-09 08:44:35 · 1857 阅读 · 0 评论 -
Spring Boot (八): Mybatis 增强工具 MyBatis-Plus
1. 简介在上一篇文章《Spring Boot (七): Mybatis极简配置》 中我们介绍了在 Spring Boot 中 Mybatis 的基础使用方式,其中有一部分美中不足的是 Mybatis 本身并未提供分页功能,还需要我们自己手动添加 PageHelper 插件或者自己实现分页的工具类,并且对单表的操作并不友好,简单的 insert 、 update 、 delete 还需我们添加...原创 2019-10-08 08:44:45 · 2812 阅读 · 3 评论 -
Spring Boot (七): Mybatis极简配置
Spring Boot (七): Mybatis极简配置1. 前言ORM 框架的目的是简化编程中的数据库操作,经过这么多年的发展,基本上活到现在的就剩下两家了,一个是宣称可以不用写 SQL 的 Hibernate ,一个是对 SQL 非常友好的 Mybaties ,,两者各有特点,在企业级系统开发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢使用 Hibernate ,互联网行...原创 2019-09-30 08:44:18 · 577 阅读 · 0 评论 -
Spring Boot (六): 为 JPA 插上翅膀的 QueryDSL
在前面的文章中,我们介绍了 JPA 的基础使用方式,《Spring Boot (三): ORM 框架 JPA 与连接池 Hikari》,本篇文章,我们由入门至进阶的介绍一下为 JPA 插上翅膀的 QueryDSL。1. 引言不可否认的是 JPA 使用是非常方便的,极简化的配置,只需要使用注解,无需任何 xml 的配置文件,语义简单易懂,但是,以上的一切都建立在单表查询的前提下的,我们...原创 2019-09-29 08:44:51 · 1998 阅读 · 0 评论 -
Spring Boot (五): Redis缓存使用姿势盘点
1. Redis 简介Redis 是目前业界使用最广泛的内存数据存储。相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets 等,同时支持数据持久化。除此之外,Redis 还提供一些类数据库的特性,比如事务,HA,主从库。可以说 Redis 兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍 Redis 在 Spring Boo...原创 2019-09-27 08:52:43 · 719 阅读 · 2 评论 -
Spring Boot (四): Druid 连接池密码加密与监控
在上一篇文章《Spring Boot (三): ORM 框架 JPA 与连接池 Hikari》 我们介绍了 JPA 与连接池 Hikari 的整合使用,在国内使用比较多的连接池还有一个是阿里开源的 Druid 。本篇文章我们就来聊一聊 Druid 的一些使用姿势。1. Druid 是什么?我们先来看一下官方的回答:Druid 是 Java 语言中最好的数据库连接池。 Druid ...原创 2019-09-25 08:44:40 · 1655 阅读 · 0 评论 -
跟我学SpringCloud | 第十七篇:服务网关Zuul基于Apollo动态路由
SpringCloud系列教程 | 第十七篇:服务网关Zuul基于Apollo动态路由Springboot: 2.1.7.RELEASESpringCloud: Greenwich.SR2[TOC]上一篇文章我们介绍了Gateway基于Nacos动态网关路由的解决方案《Spring Cloud Alibaba | Gateway基于Nacos动态网关路由》,同为Spring Cl...原创 2019-09-09 08:29:11 · 1338 阅读 · 0 评论 -
Spring Cloud Alibaba | Gateway基于Nacos动态网关路由
Spring Cloud Alibaba | Gateway基于Nacos动态网关路由本篇实战所使用Spring有关版本:SpringBoot:2.1.7.RELEASESpring Cloud:Greenwich.SR2Spring CLoud Alibaba:2.1.0.RELEASE前面几篇文章我们介绍了《Nacos服务注册与发现》和《Nacos配置管理》,还没看过的小伙...原创 2019-09-03 08:44:01 · 7561 阅读 · 12 评论 -
跟我学SpringCloud | 第六篇:Spring Cloud Config Github配置中心
SpringCloud系列教程 | 第六篇:Spring Cloud Config Github配置中心随着分布式项目越来越大,勤劳的程序猿们会开始面临一个挑战,配置文件会越来越繁杂,虽然spring提供了一个鸡肋版的解决方案,spring.profiles.active,在大型的分布式项目体系中,聊胜于无吧,手动维护配置文件的痛苦,生产,UAT,测试,开发环境的隔离,额外的配置文件,如:log...原创 2019-07-04 20:26:06 · 795 阅读 · 0 评论 -
Spring Cloud Alibaba | Nacos服务注册与发现
Spring Cloud Alibaba | Nacos服务注册与发现Springboot: 2.1.6.RELEASESpringCloud: Greenwich.SR1如无特殊说明,本系列文章全采用以上版本文章目录Spring Cloud Alibaba | Nacos服务注册与发现1. 服务提供者1.1 pom.xml项目依赖1.2 配置文件application.yml...原创 2019-07-14 10:53:29 · 432 阅读 · 0 评论 -
跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探
SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探Springboot: 2.1.6.RELEASESpringCloud: Greenwich.SR1如无特殊说明,本系列教程全采用以上版本前面我们在聊服务网关Zuul的时候提到了Gateway,那么Zuul和Gateway都是服务网关,这两个有什么区别呢?1. Zuul和Gateway...原创 2019-07-10 08:51:43 · 866 阅读 · 1 评论 -
Spring Cloud Alibaba | Nacos服务中心初探
Spring Cloud Alibaba | Nacos服务中心初探文章目录Spring Cloud Alibaba | Nacos服务中心初探1. 什么是Nacos?1.1 Nacos 1.01.2 Nacos 2.02. Nacos 架构及概念2.1 服务 (Service)2.2 服务注册中心 (Service Registry)2.3 服务元数据 (Service Metadata)2....原创 2019-07-13 10:14:47 · 1941 阅读 · 0 评论 -
跟我学SpringCloud | 第五篇:熔断监控Hystrix Dashboard和Turbine
跟我学SpringCloud | 第五篇:熔断监控Hystrix Dashboard和TurbineHystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。但是只使用Hystrix Dashboard的话, 你只能看到单个应用内的服务信息, 这明显不...原创 2019-07-04 13:40:38 · 1313 阅读 · 1 评论 -
跟我学SpringCloud | 第四篇:熔断器Hystrix
跟我学SpringCloud | 第四篇:熔断器Hystrix1. 熔断器服务雪崩在正常的微服务架构体系下,一个业务很少有只需要调用一个服务就可以返回数据的情况,这种比较常见的是出现在demo中,一般都是存在调用链的,比如A->B->C->D,如果D在某一个瞬间出现问题,比如网络波动,io偏高,导致卡顿,随着时间的流逝,后续的流量继续请求,会造成D的压力上升,有可能引起宕机...原创 2019-07-03 18:29:25 · 1085 阅读 · 0 评论 -
跟我学SpringCloud | 第三篇:服务的提供与Feign调用
上一篇,我们介绍了注册中心的搭建,包括集群环境吓注册中心的搭建,这篇文章介绍一下如何使用注册中心,创建一个服务的提供者,使用一个简单的客户端去调用服务端提供的服务。本篇文章中需要三个角色,分别是服务的提供者,服务的消费者,还有一个是上一篇文章的主角——注册中心Eureka(使用单机版本即可,本篇的示例也会使用单机版本的Eureka)。整体流程为:先启动注册中心Eureka启动服务的提供者...原创 2019-07-02 20:09:16 · 703 阅读 · 3 评论 -
跟我学SpringCloud | 终篇:文章汇总(持续更新)
SpringCloud系列教程 | 终篇:文章汇总(持续更新)我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: inwsy@hotmail.com。Github源码下载:https://github.com/meteor1993/SpringCloudLearning《跟我学SpringCloud》系列:Green...原创 2019-07-08 09:47:40 · 762 阅读 · 0 评论 -
跟我学SpringCloud | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪
SpringCloud系列教程 | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪在分布式服务架构中,需要对分布式服务进行治理——在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用可以并行执行?…… 为此,分布式服务平台就需要提供这样一种基础服务——可以记录...原创 2019-07-08 09:03:12 · 796 阅读 · 0 评论 -
跟我学SpringCloud | 第十篇:服务网关Zuul高级篇
SpringCloud系列教程 | 第十篇:服务网关Zuul高级篇上一篇我们主要聊到了Zuul的使用方式,以及自动转发机制,其实Zuul还有更多的使用姿势,比如:鉴权、流量转发、请求统计等。1. Zuul的核心Zuul的核心是Filter,用来实现对外服务的控制。分别是“PRE”、“ROUTING”、“POST”、“ERROR”,整个生命周期可以用下图来表示。Zuul大部分功能都是通过过...原创 2019-07-07 20:38:32 · 627 阅读 · 0 评论 -
跟我学SpringCloud | 第一篇:介绍
跟我学SpringCloud | 第一篇:介绍首先讲一下我为什么要写这一系列的文章,现在网上大量的springcloud相关的文章,使用的springboot和springcloud的版本都相对比较老,很多还是在使用springboot1.x的版本,如果尝鲜想使用springboot2.x的版本,很多配置都和之前的不一样,有了大量的修改,很多刚开始学习的朋友可能试一试搭不起来就放弃了,本系列教...原创 2019-07-01 08:48:15 · 694 阅读 · 0 评论 -
跟我学SpringCloud | 第二篇:注册中心Eureka
Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。什么是注册中心服务中心管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。有了注册中心,调用关系的变化,画几个简图来看一下。服务A调用...原创 2019-07-01 20:10:34 · 723 阅读 · 0 评论 -
Java爬虫搜索原理实现
新人国庆没事做,又研究了一下爬虫搜索,两三天时间总算是把原理闹的cha'bu原创 2014-10-03 11:26:27 · 1599 阅读 · 1 评论 -
Spring Cloud Alibaba | Nacos配置管理
Spring Cloud Alibaba | Nacos配置管理Springboot: 2.1.6.RELEASESpringCloud: Greenwich.SR1如无特殊说明,本系列文章全采用以上版本文章目录Spring Cloud Alibaba | Nacos配置管理1. pom.xml 项目依赖2. 在 bootstrap.properties 中配置 Nacos s...原创 2019-07-14 18:27:38 · 384 阅读 · 0 评论 -
跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh
SpringCloud系列教程 | 第七篇:Spring Cloud Config 配置中心高可用和refreshSpringboot: 2.1.6.RELEASESpringCloud: Greenwich.SR1如无特殊说明,本系列教程全采用以上版本1. 引言上一篇我们聊了Spring Cloud Config 配置中心,并且和Github做了集成,我们的Server端是...原创 2019-07-05 07:18:06 · 480 阅读 · 0 评论 -
跟我学SpringCloud | 第十六篇:微服务利剑之APM平台(二)Pinpoint
SpringCloud系列教程 | 第十六篇:微服务利剑之APM平台(二)PinpointSpringboot: 2.1.7.RELEASESpringCloud: Greenwich.SR2[TOC]1. Pinpoint概述Pinpoint是一个由韩国人编写的为大型分布式系统服务的链路跟踪平台,并提供大量链路跟踪数据分析汇总解决方案。自2012年7月开始开发,与2015年...原创 2019-08-29 08:44:54 · 1548 阅读 · 0 评论 -
跟我学SpringCloud | 第十五篇:微服务利剑之APM平台(一)Skywalking
SpringCloud系列教程 | 第十五篇:微服务利剑之APM平台(一)SkywalkingSpringboot: 2.1.7.RELEASESpringCloud: Greenwich.SR21. Skywalking概述Skywalking与2016年11月2日由国人吴晟在Github上传v1.0版本,用于提供分布式链路追踪功能,从5.x开始,成为一个功能...原创 2019-08-27 08:45:11 · 1511 阅读 · 1 评论