摘要: Spring Data Solr 就是为了方便 solr 的开发研制的一个框架,其底层是对 SolrJ(官方 API)的封装 一、环境搭建 第一步:创建 Maven 项目(springdatasolrDemo 打包方式为 jar 类型)第二步:pom.xml 文件中引入项目相关的依赖: 1 <dep 阅读全文
posted @ 2020-11-21 16:59 Java程序员进阶 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 如今随着互联网的发展,数据的量级也是呈指数的增长,从 GB 到 TB 到 PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候 NoSQL 的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂 阅读全文
posted @ 2020-11-21 16:55 Java程序员进阶 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 现实世界中,所有的数据都是以流式的形态产生的,不管是哪里产生的数据,在产生的过程中都是一条条地生成,最后经过了存储和转换处理,形成了各种类型的数据集。如下图所示,根据现实的数据产生方式和数据产生是否含有边界(具有起始点和终止点)角度,将数据分为两种类型的数据集,一种是有界数据集,另外一种是无界数据集 阅读全文
posted @ 2020-11-20 17:46 Java程序员进阶 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 一、运行环境介绍 Flink执行环境主要分为本地环境和集群环境,本地环境主要为了方便用户编写和调试代码使用,而集群环境则被用于正式环境中,可以借助Hadoop Yarn、k8s 或 Mesos等不同的资源管理器部署自己的应用。环境依赖:【1】JDK环境:Flink核心模块均使用 Java开发,所以运 阅读全文
posted @ 2020-11-20 17:44 Java程序员进阶 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一、什么是状态 无状态计算的例子:例如一个加法算子,第一次输入 2+3=5 那么以后我多次数据 2+3 的时候得到的结果都是5。得出的结论就是,相同的输入都会得到相同的结果,与次数无关。有状态计算的例子:访问量的统计,我们都知道 Nginx 的访问日志一个请求一条日志,基于此我们就可以统计访问量。如 阅读全文
posted @ 2020-11-20 17:41 Java程序员进阶 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Flink API 总共分为4层链接这里主要整理 Table API 的使用 Table API是流处理和批处理通用的关系型 API,Table API可以基于流输入或者批输入来运行而不需要进行任何修改。Table API 是 SQL语言的超集并专门为 Apache Flink设计的,Table A 阅读全文
posted @ 2020-11-20 17:25 Java程序员进阶 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 一、基本组件栈 在Flink整个软件架构体系中,同样遵循着分层的架构设计理念,在降低系统耦合度的同时,也为上层用户构建 Flink应用提供了丰富且友好的接口。从下图中可以看出整个 Flink的架构体系基本上可以分为三层,由上往下依次是 API & Libraries层、Runtime核心层以及物理部 阅读全文
posted @ 2020-11-20 17:15 Java程序员进阶 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】: Could not build the program from JAR file. Use the help option (-h or --help) to get help on the command. 【产生原因】:之前 per-job启动的时候,它们都用 flink1.8 阅读全文
posted @ 2020-11-20 17:12 Java程序员进阶 阅读(57) 评论(0) 推荐(0) 编辑
摘要: Flink 提供了丰富的客户端操作来提交任务和与任务进行交互。下面主要从Flink命令行、Scala Shell、SQL Client、Restful API 和 Web 五个方面进行整理。 在 Flink 安装目录的 bin目录下可以看到 flink,start-scala-shell.sh 和 阅读全文
posted @ 2020-11-20 17:07 Java程序员进阶 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 在介绍 Checkpoint 的执行机制前,我们需要了解一下 state 的存储,因为 state 是 Checkpoint 进行持久化备份的主要角色。Checkpoint 作为 Flink 最基础也是最关键的容错机制,Checkpoint 快照机制很好地保证了 Flink 应用从异常状态恢复后的数 阅读全文
posted @ 2020-11-20 17:02 Java程序员进阶 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Flink 的 API 大体上可以划分为三个层次:处于最底层的 ProcessFunction、中间一层的 DataStream API 和最上层的 SQL/Table API,这三层中的每一层都非常依赖于时间属性。时间在 Flink 中的地位如下图所示:​时间属性是流处理中最重要的一个方面,是流处 阅读全文
posted @ 2020-11-20 16:55 Java程序员进阶 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 负载均衡(Load Balance): 意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其他任务服务器等,从而共同完成工作任务。负载均衡建立在现有的网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的宽带、增加吞 阅读全文
posted @ 2020-11-20 16:50 Java程序员进阶 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、为什么 Nginx可以采用异步非阻塞的方式来处理 看看一个请求的完整过程:请求过来,要建立连接,然后再接收数据,接收数据后,再发送数据。 具体到系统底层,就是读写事件,而当读写事件没有准备好时,必然不可操作,如果不用非阻塞的方式来调用,那就得阻塞调用了,事件没有准 阅读全文
posted @ 2020-11-20 16:45 Java程序员进阶 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、目前常见的Web服务器 【1】 Apache(http://httpd.apache.otg):仍是世界上用的最多的web服务器,市场占有率60%左右,模块非常丰富,系统非常稳点,可移植性好,但比较消耗内存。并发能力比较差。最多支持到3千到5千。 【2】 Ligh 阅读全文
posted @ 2020-11-20 16:32 Java程序员进阶 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 优质博文 IT-BLOG-CN 虚拟主机使用的是特殊的软硬件技术,把一台运行在因特网上的服务器主机分成一台台 “虚拟” 的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完成的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访 阅读全文
posted @ 2020-11-20 16:19 Java程序员进阶 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 一、RPC 服务的原理 【1】Socket 套接字:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个链接的一端称为 Socket。可以实现不同计算机之间的通信,是网络编程接口的具体实现。Socket 套接字是客户端/服务端网络结构程序的基本组成部分。【2】RPC 的调用过程:实现透明的远程 阅读全文
posted @ 2020-11-20 14:59 Java程序员进阶 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、是什么 Docker 的理念:将运行的环境打包形成容器运行,运行可以伴随着容器,但是我们希望对数据做持久化,同时希望容器之间能够共享数据。Docker 产生的数据,如果不通过 docker commit 生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删 阅读全文
posted @ 2020-11-20 14:23 Java程序员进阶 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG-CN 一、Dockerfile 是什么? DockerFile 是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本 构建三步骤: 编写 Dockerfile 文件——>docker build——>docker run例如:centos 构建文件: 阅读全文
posted @ 2020-11-20 14:21 Java程序员进阶 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 目录 一、简介 二、Docker的基本组成 三、Docker的安装 四、配置国内阿里云镜像加速 五、Hello World 上手实践 六、Docker底层原理 更多内容,前往 IT-BLOG 一、简介 Docker 是基于 Go 语言实现的云开源项目。主要目标是 “Build,Ship and Ru 阅读全文
posted @ 2020-11-20 14:18 Java程序员进阶 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 一、帮组命令 ● docker version :验证Docker安装的信息 ● docker info:比version更详细的Docker信息 ● docker --help:Docker帮助文档 二、Docker启动、停止、重启命令 ● service docker start:启动 ● se 阅读全文
posted @ 2020-11-20 14:13 Java程序员进阶 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 一、Redis 持久化方式(RDB) 【1】RDB(Redis DataBase): 在指定的时间间隔内将内存中的数据集以快照的形式写入磁盘,也就是行话讲的 Snapshot (快照),它恢复时是将快照文件直接读到内存里。Redis 会单独创建(Fork)一个子进程来进行持久化,会先将数据写入到一个 阅读全文
posted @ 2020-11-20 13:43 Java程序员进阶 阅读(24) 评论(0) 推荐(0) 编辑
摘要: Redis 事务:可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序串行化执行而不会被其它命令插入,一次性、顺序性、排他性的执行一系列命令。 一、常用命令 【1】:开启一个事务【2】 :执行事务中的命令。可以看到 开始到 之间,所有的命令都会被加入到一个命令队列中。当 阅读全文
posted @ 2020-11-20 13:19 Java程序员进阶 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的表达式(例如:正则表达式等),那么这些问题实例将是该表达式的一些句子,这样就可以用 “编译原理” 中的解释器模式来实现。 一、解释器模式基本介绍 【1】解释器模式(Inte 阅读全文
posted @ 2020-11-20 13:07 Java程序员进阶 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一、Linux 操作系统 【1】ulimit 与 TCP backlog:1)、修改 ulimit:通过 ulimit 修改 open files 参数,redis 建议把 open files 至少设置成 10032,因为 maxclients 是10000 [客户端的数据是以文件的形式进行保存的 阅读全文
posted @ 2020-11-20 11:33 Java程序员进阶 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 系统性学习,移步IT-BLOG 一、简介 对于类似于首页这种每天都有大量的人访问,对数据库造成很大的压力,严重时可能导致瘫痪。解决方法:一种是数据缓存、一种是网页静态化。今天就讨论数据缓存的实现 Redis:是一种开源的 Key-Value 数据库,运行在内存中,企业开发通常采用 Redis 来实现 阅读全文
posted @ 2020-11-20 11:27 Java程序员进阶 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一、Redis-Cluster 简介 【1】Redis 集群(Redis-Cluster)提供了在多个 Redis 节点间共享数据的功能。【2】Redis 集群通过分区来提高可用性。可自动分割数据到不同的节点上,集群的部分节点失败或者不可达时能够继续处理请求。【3】Redis Cluster 集群模 阅读全文
posted @ 2020-11-20 11:20 Java程序员进阶 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一、什么是缓存 【1】缓存就是数据交换的缓冲区(称作:Cache),当某一硬件要读取数据时,会首先从缓存中查询数据,有则直接执行,不存在时从磁盘中获取。由于缓存的数据比磁盘快的多,所以缓存的作用就是帮助硬件更快的运行。【2】缓存往往使用的是RAM(断电既掉的非永久存储),所以在用完后还是会把文件送到 阅读全文
posted @ 2020-11-20 11:19 Java程序员进阶 阅读(519) 评论(0) 推荐(1) 编辑
摘要: 分布式应用进行逻辑处理时经常会遇到并发问题,我们首先肯定会想到锁。关于锁大家都很熟悉。在并发编程中,我们通过锁,来避免由于竞争而造成的数据不一致问题。通常我们使用 synchronized 、Lock 来加锁。但是 Java中的锁,只能保证在同一个 JVM进程内中执行。如果在分布式集群环境下呢? 一 阅读全文
posted @ 2020-11-20 11:18 Java程序员进阶 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一、字符控制函数 函数 结果 CONCAT('Hello','World') HelloWorld SUBSTR('HelloWorld',1,5) Hello LENGTH('HelloWorld') 10 INSTR('HelloWorld','W') 6 LPAD(salary,10,'*') 阅读全文
posted @ 2020-11-20 09:56 Java程序员进阶 阅读(63) 评论(0) 推荐(0) 编辑
摘要: Oracle 公司是世界上最大的信息管理软件及服务提供商,因其复杂的关系数据库产品而闻名。Oracle 的关系数据库是世界上第一个支持 SQL 语言的数据库。支持服务器/客户机等部署。Oracle 数据库管理系统是目前世界上最流行的一款关系型数据库管理系统。 一、Oracle 数据库体系结构简介 平 阅读全文
posted @ 2020-11-20 09:45 Java程序员进阶 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、行转列问题 现有表格A,按照以下格式排列; 姓名 收入类型 收入金额 Tom 年奖金 5w Tom 月工资 10k Jack 年奖金 8w Jack 月工资 12k 先需要将表格转化为: 姓名 月工资 年奖金 Tom 10k 50k Jack 12k 80k 方法 阅读全文
posted @ 2020-11-20 09:41 Java程序员进阶 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 更多内容,移步 IT-BLOG 一、什么是微服务 就目前而言,对于微服务业界并没有一个统一的,标准的定义。但通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。服务之间采用轻 阅读全文
posted @ 2020-11-20 09:40 Java程序员进阶 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、数据库隔离级别 【1】Read Uncommitted(读取未提交内容):出现脏读,也就是可能读取到其他会话中未提交事务修改的数据。【2】Read Committed(读取已提交内容):不可重复读,只能读取到已经提交的数据。Oracle 等数据库默认的隔离级别。【 阅读全文
posted @ 2020-11-20 09:36 Java程序员进阶 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 慢日志分析流程如下:【1】观察(至少跑一天),看看生产慢 SQL 情况。【2】开启慢查询日志,设置阈值,比如对超过5秒的 SQL 语句进行抓取。【3】explain+慢 SQL 分析。【4】show profile 查询慢 SQL 在 MySQL 中的执行细节和生命周期情况。【5】运维经理 or D 阅读全文
posted @ 2020-11-20 09:34 Java程序员进阶 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG explain关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理 SQL 语句的。分析查询语句或表结构的性能瓶颈。执行语句:explain + SQL语句。表头信息如下:​ 一、ID 参数 select 查询的序列号,包含一组数字,表示查询中 阅读全文
posted @ 2020-11-20 09:32 Java程序员进阶 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 复制功能是构建 MySQL 的大规模、高性能的基础,也就是所谓的 “水平扩展” 架构。我们可以通过为服务器配置一个或多个备库。同时,复制也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。MySQL主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导 阅读全文
posted @ 2020-11-20 09:30 Java程序员进阶 阅读(302) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具。可以将面向服务的 REST 模板请求自动转化成客户端负载均衡的服务调用。Spring Cloud Ribbon 虽然是一个工具类框架,但它不像服务注册中心、配置中心、API网关那样需要独立部署。但是它几乎 阅读全文
posted @ 2020-11-20 09:20 Java程序员进阶 阅读(36) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud Ribbon 和 Spring Cloud Hystrix 在微服务中实现了客户端负载均衡的服务调用以及通过断路器来保护微服务应用。这两者作为基础工具类框架广泛地应用在各个微服务的实现中,不仅包括我们自身的业务类微服务,也包括一些基础设置类微服务(比如网关)。在实践中,这两 阅读全文
posted @ 2020-11-20 09:18 Java程序员进阶 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 来源于网络 一、什么是 Raft算法 Raft 适用于一个管理日志一致性的协议,相比于 Paxos 协议 Raft 更易于理解和去实现它。为了提高理解性,Raft 将一致性算法分为了几个部分,包括领导选取(leader selection)、日志复制(log replication)、安全(safe 阅读全文
posted @ 2020-11-20 09:13 Java程序员进阶 阅读(3328) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、Spring Security 简介 Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring 应用上下文中配置的 Bean,充分利用了Spring IoC,DI(控制 阅读全文
posted @ 2020-11-20 08:28 Java程序员进阶 阅读(23) 评论(0) 推荐(0) 编辑