- 博客(26)
- 资源 (6)
- 收藏
- 关注
原创 Sentinel + GateWay + Nacos 实现基于推模式的接口限流(配置持久化)、自定义响应结果
三个步骤安装Sentinel控制台下载控制台程序,GitHub连接如下:sentinel-dashboard-1.8.0.jar启动控制台:java -jar sentinel-dashboard-1.8.0.jar访问控制台1)默认访问端口是8080,如果要修改,在启动时–server.port=port指定即可。java -jar sentinel-dashboard-1.8.0.jar --server.port=80812)默认访问地址:http://127.0.0.1
2020-09-21 17:01:29
3223
7
原创 GateWay网关使用API进行路由转发和限流
@Configurationpublic class GateWayConfig { /** * 根据URL进行接口限流 */ @Bean public KeyResolver ipKeyResolver() { return exchange -> Mono.just(exchange.getRequest().getPath().value()); } @Bean public RedisRateLimit
2020-09-18 11:55:14
1572
原创 SpringCloud Gateway网关同时支持http和https访问
利用KeyTool生成keystorekeytool -genkey -alias sslkey RSA -validity 365 -keystore sslkey.keystore其中,-validity后面为证书有效天数;-alias后面是证书别名;-keystore后面是证书存放位置;过程中会要求输入 姓氏、组织单位名称、组织名称、城市或区域名称、省市、国家、地区代码、密钥口令;确认正确输入y,回车,把生成的证书放到项目的resources目录下。开启SSL验证#http端口
2020-09-16 14:59:45
3448
原创 SpringBootAdmin Nacos context-path监控服务健康状态
使用SpringBootAdmin监听Nacos注册中心的微服务健康状态一、搭建SpringBootAdmin项目1. 引入依赖此处需要注意SpringBootAdmin的版本,SpringBootAdmin与SpringBoot的版本大致是一一对应的,比如,SpringBoot版本是2.1.x的,SpringBootAdmin的版本也要用2.1.x的,否则可能会启动失败。<dependencies> <dependency> <grou
2020-09-16 14:24:04
2323
2
原创 SpringCloud多模块项目打包报错Unable to find main class
打包插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
2020-09-13 12:44:47
1042
1
原创 一图说明HTTPS请求过程
HTTPS请求流程:① 客户端发起https请求,请求包含客户端支持的SSL版本、加密算法等信息,访问默认的443端口进行证书获取② 服务端存放了公钥证书和私钥证书,返回公钥证书、服务端自己支持的SSL版本、加密算法等信息给客户端③ 客户端验证收到的公钥证书是否有效,如果无效,会显示警告信息④ 客户端验证公钥证书有效后,会根据公钥证书生成一个随机值key,用来以后跟服务端加密通讯的密钥⑤ 客户端用公钥加密随机值key并发送给服务端⑥ 服务端收到加密的key后,用私钥证书解密⑦ 服务端得到解..
2020-08-25 19:40:43
1180
原创 Spring源码之容器的基本实现:通过Xml配置装载Bean
Spring通过Xml配置来装载Bean的的流程: 读取xml配置文件 》解析Xml并找到对应类的配置 》实例化对象环境准备这是一个简单的beanpublic class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}这是一个简单的bean配置(web.xml)<.
2020-07-13 20:38:07
407
原创 IDEA编译Spring 5.2.x源码
环境:win10系统IDEA Ultimate 2019.3 【https://www.jetbrains.com/idea/download/#section=windows】Spring 5.2.6 【https://github.com/spring-projects/spring-framework】Gradle 6.4.1 【https://gradle.org/releases/】编译步骤如下:一、下载Spring源码约16M,先下载,github下砸速度很慢,建议不要直接.
2020-06-18 19:22:48
2220
2
原创 使用Redis保存SparkStreaming的状态数据/中间过程数据
SparkStreaming的状态管理,官方推出的有1.6版本之前的 updateStateByKey 和1.6版本之后的 mapWithState。但是都有一个共同的弊端,就是会生成大量的小文件,需要手动合并。故此,使用redis来存储state是一个很好的选择。WordCount案例object TestState { def main(args: Array[String]): Unit = { val sparkConf: SparkConf = new SparkConf().s
2020-05-14 15:49:51
1027
原创 策略模式+工厂模式结合使用
策略模式与工厂模式结合使用定义策略模式:定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响使用算法的客户。工厂模式:定义一个用于创建产品的接口,由子类决定生产什么产品。缺点策略模式:暴露了策略类,每次使用策略都要new工厂模式:...
2020-05-12 09:49:04
2708
1
原创 图解Spark算子(map,mapPartitions,mapPartitionsWithIndex,flatMap,glom,groupBy,filter,sample,distinct...)
spark算子:map,mapPartitions,mapPartitionsWithIndex,flatMap,glom,groupBy,filter,sample,distinct,coalesce,repartition,sortBy,union,subtract,intersection,zip,partitionBy,groupByKey,reduceByKey,aggregateByKey,foldByKey,combineByKey,sortByKey,mapValues,join,cogro
2020-05-06 12:10:46
1345
2
原创 Spark任务划分、代码执行位置、创建Connect连接的最佳实践
Spark任务划分在RDD中,任务可切分为:Application、Job、Stage、Task。Application:初始化一个SparkContext即生成一个Application,通常一个main函数就是一个Application;Job:一个Action算子就会生成一个Job,常用Action算子包括reduce、aggregate、collect、first、take、fore...
2020-04-16 15:01:45
988
原创 客官,您的【Spark读取千万数据量Mysql大表后写入到Hive】代码已上齐,请慢用。。。
本文主要用来描述如何用Spark读取Mysql超百万甚至千万数据量的大表。经过测试,spark读取1千万数据量的mysql表写到hive中,整个job运行只需1.6分钟。开始参考这篇文章的写法读取mysql【spark jdbc分区并发读取 mysql 大表】,但是只适合读取数字型的主键或者要写死分区,不管是从实际需求还是代码层面来说都显得不够优秀。于是就想到了用mysql分页读取的方法来改进。这种方法无需关注分区字段的类型,也无需写死分区,可以根据配置进行动态分区读取。
2020-04-05 20:58:35
6120
8
原创 IDEA用Maven打包Spark(去掉不需要的依赖) POM文件
1. 根据项目需要添加依赖;服务器上已经有大数据组件的依赖都无需打包依赖,所以可以在依赖加上<scope>provided</scope>2. 如果使用IDEA,在本地运行项目时要在运行配置勾选【Include dependencies with “Provided” scope】,否则会编译出错以下是POM.xml文件<?xml version="1.0" ...
2020-04-03 17:35:57
2472
原创 SparkSQL/SparkStreaming读写Hive/Mysql/Hbase/Kafka
Spark读写Hive/Mysql/Hbase/KafkaSpark读写Hive/Mysql/Hbase/Kafka一、工具类、配置类(一)SparkUtils (SparkSession启动类)(二)ConnectUtils (连接/配置参数工具类)二、Mysql to Hive三、Hbase to Hive四、Hive to Hive五、Kafka to Hive/Hbase/Kafka(一)...
2020-03-27 22:05:11
1938
3
原创 Apache Flink 知识图谱
Flink官方教程:https://ci.apache.org/projects/flink/flink-docs-release-1.9/zh/getting-started/index.htmlFlink1.9版本的官方教程,包含应用开发、部署与运维、调试和监控等内容Ververica社区流程:https://ververica.cnFlink最活跃的社区,包含播客分享、开发实践、专...
2020-01-10 17:41:17
769
原创 DBeaver 连接Phoenix/Hive/Mysql 可视化工具使用
通过DBeaver连接Phoenix操作HBase 下载DBeaver最新版安装DBeaver连接Phoenix下载DBeaver最新版地址:https://dbeaver.io/本人安装的是6.3.0版本安装DBeaver普通的exe程序安装流程…省略。。。连接Phoenix新建Phoenix连接填写ip和端口填写Phoenix所在的ip,如果是集群安装,ip用英文逗号分隔...
2019-12-12 15:52:04
2486
原创 主流MQ消息队列比较(ActiveMQ vs Kafka vs RocketMQ vs RabbitMQ)
主流MQ消息队列比较(ActiveMQ vs Kafka vs RocketMQ vs RabbitMQ)参考链接:RocketMQ官网
2019-10-27 17:07:39
2675
原创 JAVA常用工具类(DateTimeUtil/Json/Mq/Nio/Redis/根据数据库表生成实体类),开箱即用
JAVA常用工具类(DateTimeUtil/Json/Mq/Nio/Redis/根据数据库表生成实体类),开箱即用GitHub地址:https://github.com/xshxsh/utils.git欢迎使用,也欢迎加星,欢迎pullRequest补充完善。...
2019-10-22 09:35:08
170
原创 SpringBoot + ActiveMq (官方原生版和使用JmsMessagingTemplate版、消息可靠保证)
一、 SpringBoot 集成ActiveMq的两种方式方式一:使用官方示例代码(official项目)方式二:使用Spring的JmsMessagingTemplate二、消息可靠保证机制三、消息持久化四、重试机制
2019-07-22 16:30:59
6387
12
原创 使用JAVA线程池(Executor/ThreadPoolExecutor)
一、为什么使用线程池可以减少创建线程、销毁线程和切换线程带来的资源消耗线程池应该设置多大最佳线程数目 = ((线程等待时间+线程CPU时间)/线程CPU时间 ) CPU数目*比如平均每个线程CPU运行时间为0.5s,而线程等待时间(非CPU运行时间,比如IO)为1.5s,CPU核心数为8,那么根据上面这个公式估算得到:((0.5+1.5)/0.5)8=32。这个公式进一步转化为:最佳线程...
2019-05-20 16:44:44
196
原创 SpringBoot 实现定时任务的两种方式:基于注解(@Scheduled)的简单定时器,基于接口SchedulingConfigurer的动态定时任务
SpringBoot定时器:基于注解(@Scheduled)的简单定时器,基于接口SchedulingConfigurer的动态定时任务)一、代码目录结构二、配置文件application.yml内容#设置定时任务task: taskName1: #任务名称 switch: true #是否开启定时任务 cron: "0/5 * * * * ?" #任务表达式 t...
2019-05-20 14:19:31
21493
17
屏蔽Chrome的提示请停用以开发者模式运行的扩展程序,放到chrome.dll目录下运行.exe
2019-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人