自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(238)
  • 收藏
  • 关注

原创 webservice与springboot联合使用

webservice springboot

2022-11-21 16:12:48 1593 1

原创 ES集群搭建基础讨论

我们平时都有了数据库可以进行快速的数据应用,为什么还要使用搜索引擎呢?在平时的面向对象的开发过程中,我们多半对应的都是结构化的数据,一般存储在具有结构化存储的数据库中都能很快的进行数据的增删改查,但是针对半结构化,如xml,html,非结构化数据,如文本、文档、图片、音频、视频等这种结构的数据是没有办法通过结构化的方式来查询的,当然在结构化的数据中,当数据量达到一定程度后,针对文本数据的查询,特别是模糊查询的时候,还特别是模糊查询如'%xxx%'的时候,哪怕是你建立了索引也是不起任何作用的,因...

2021-07-16 15:05:59 694

原创 mysql workbeanch 表编辑器无法设置datetime精确度说明

在使用mysql 自带的workbench设置datetime带有3位或6位精确度的时候,即时间值精确到毫秒或微秒的时候,使用workbeanch时创建或修改这个datetime没有办法修改成功的,它会默认为无精度的datetime,通过查看官网它在6.3.7的workbeanch版本中就禁用了datetime精度的设置,具体可以查看https://dev.mysql.com/doc/relnotes/workbench/en/news-6-3-7.html这个搜索查看,所以如果想使用da...

2021-07-16 10:08:09 864

原创 python关于pyaudio无法import的一系列问题

python如果需要使用到pyaudio的功能,是需要手动把pyaudio模块导入进来的,我现在使用的版本是Python 3.8.2 win32,当你想直接使用pip install pyaudio导入pyaudio模块的时候,你会发现一堆下面这样的错误:ERROR: Command errored out with exit status 1: command: 'D:\software\Python38\python.exe' -u -c 'import io, os, sys...

2021-06-26 16:50:44 3047 1

原创 springboot 配合Apollo实现动态定时任务配置

在使用springboot的时候,定时任务是大多系统都会实现的一个逻辑,在系统中引入了Apollo的统一配置后,我们可以通过修改定时任务执行的时间来动态更新springboot项目中定时任务的执行,Apollo配置如下:app: id: smoke_detectorapollo: meta: http://172.12.31.217:8080 bootstrap: enabled: true namespaces: application eagerLoad:

2021-05-14 19:29:40 1235 10

原创 通过git clone后提交代码不用每次输入密码

在我们第一次通过git clone完代码后,再次提交代码的时候需要我们再次输入用户名和密码,为了避免这种不必要的情况下,而又不记得命令行的命令的时候,我们可以通过下载一个tortoise git的小乌龟来达成这个目的,下载完成这个小乌龟后,直接在你项目所在的目录,鼠标右键点击出现以下界面选择编辑local .git/config,直接将[credential] helper = store 复制到文件里面就可以了,有可能下一次需要你再输入一次用户名和密码,这次保存完成后...

2021-04-21 17:42:14 420

原创 数据库分库分表概述

随着业务的发展,数据库的数据量也越来越大,数据慢慢达到GB,TB级别,获取数据的效率越来越慢,简单的数据库分区以及单个数据服务器已经不能满足数据的增长,这个时候我们就需要用到数据库集群了,有了数据库的集群肯定会涉及到数据库的分库分表操作数据库的分库分表操作又统称为数据库分片,其分为垂直拆分和水平拆分,我们先在下面介绍下分库分表的概念: 分库: 其又称为垂直拆分,或纵向拆分,主要是按照业务来对原来的表拆分到不同的数据库里面。如果对于一个业务系统来说,其具有明确的业务逻辑且结构清晰、...

2021-03-29 15:05:23 592

原创 mysql配置通用调优

在使用MySQL数据库的时候,我们不仅可以通过sql语句进行一定的调优,我们还可以通过配置MySQL数据库的配置文件来一系列的调优,这里说到的调优配置主要是指5.6+版本的配置。1.避免使用 Swap 内存,在Linux中通过swapoff -a来关闭swap。下面都是在[mysqld]上面配置2.设置max_heap_table_size=tmp_table_size当 Order By 或者 Group By 等需要用到结果集时,参数中设置的临时表的大小小于结果集的大小时,就会将该表 放

2021-03-21 13:49:01 289 1

原创 mycat管理命令与监控

在使用mycat的时候,我们需要了解到mycat中sql语句的运行情况,以及修改完配置文件后如何进行热重启,在mycat中它提供了一系列的管理命令与监控来帮助我们,目前在mycat 有两个端口,分别是8066数据端口,9066管理端口,命令行的登陆是通过9066 管理端口来操 作,登录方式类似于 mysql 的服务端登陆。mysql -h127.0.0.1 -utest -ptest -P9066 [-dmycat]这里的登录都是通过mycat中间件配置完成后的连接,我们可以通过server.xm

2021-03-19 11:32:31 331

原创 mycat配置文件schema.xml配置说明

在mycat中的conf目录下我们常用的配置文件有schema.xml、server.xml以及rule.xml,分别用于配置mycat的表相关、整体服务配置及分库分表规则配置,我们这里主要是说明下在schem.xml中常用的配置,我们先看下schema元素的配置: 属性名 值 数量限制 说明 name String 1 逻辑数据库名 data

2021-03-16 18:49:55 418

原创 高可用Nginx集群安装搭建

高可用Nginx集群安装搭建环境准备两台linux服务器,IP地址分别为192.168.120.103192.168.120.58准备IP地址信息打印程序balancer-1.0.0.jar,http://hostname:port/server/ip,打印服务器的IP端口号信息。安装两台Nginx安装步骤,参考前面Nginx的手册来操作,将Nginx分别安装在前面准备的两台linux服务器上。启动Nginx,都为80端口,代理前面的的balancer-1.0.0.jar服务。安装LVS

2021-03-09 17:52:56 346

原创 Nginx安装

Nginx安装快速开始,windows安装进入Nginx下载页面选择nginx/Windows-xxx.zip的安装包下载,xxx表示最新的版本解压zip到你的程序安装目录进入nginx-xxx目录,双击nginx.exe启动Nginx服务非常简单快速,适合学习初用,快速搭建linux安装linux下面有两种安装方式,二进制安装、通过源码编译安装。二进制安装不同的平台都有支持,具体参考官网说明,这里以centos7为示例,使用yum进行安装。# 检查更新yum依赖sudo yum i

2021-03-09 17:36:59 159

原创 nginx性能安全相关插件使用(六)

在nginx中为了避免因为后端服务器异常带来的接口不可用,nginx提供了主动健康检测模块nginx_upstream_check_module(淘宝开源提供)和被动检测ngx_http_upstream_module,我们先说下被动检测ngx_http_upstream_module,可以在upstream指令块中的server子指令参数max_fails、fail_timeout来进行被动检测,如:upstream backend { server 127.0.0.1:8080 weigh

2021-03-09 15:55:23 513

原创 Nginx实用插件

Nginx实用插件健康检查插件主动检查内部上游的服健康状态插件,淘宝开源实现nginx_upstream_check_module。安装cd ~wget https://nginx.org/download/nginx-1.4.7.tar.gztar -xvzf nginx-1.4.7.tar.gzwget https://github.com/yaoweibin/nginx_upstream_check_module/archive/v0.3.0.tar.gzmv v0.3.0.tar.

2021-03-09 15:31:35 1834

原创 nginx整体架构及性能优化(五)

Nginx工作模式是在启动时会以daemon形式在后台运行,采用多进程+异步非阻塞IO事件模型来处理各种连接请求。多进程模型包括一个master进程,多个worker进程,master进程负责加载配置、接收命令、监控子进程,同时它也是可以关闭的,关闭后就不能再进行nginx转发访问。worker进程负责处理网络请求。Worker进程的个数由配置文件决定,一般和CPU个数相关(有利于进程切换),配置几个就有几个Worker进程。需要说明的是,在nginx多进程中,每个worker进程都是平等的,因此每个进程处

2021-03-09 14:40:19 221 1

原创 nginx性能优化-----缓存(四)

在nginx中为了提升性能和加速访问,nginx提供了缓存的功能,其缓存是以文件系统上的分层数据存储的形式实现的。缓存Key是可配置的,并且可以使用不同的请求特定参数来控制进入缓存的内容。缓存Key和缓存元数据存储在共享内存段中,缓存加载器、缓存管理器和Worker进程可以访问它们。目前,除了操作系统的虚拟文件系统机制所暗示的优化之外,没有任何内存中的文件缓存。每个缓存的响应都放在文件系统上的不同文件中。通过nginx配置指令控制指定层次结构(级别和命名细节)。接下来我们看下nginx的缓存保存过程:.

2021-03-09 11:18:54 497

原创 nginx通过lua脚本进行操作(三)

在nginx中,我们可以与lua脚本一起使用来达到web访问更高效,处理更灵活,一般情况下我们都会使用openresty来代替nginx的ngx_lua模块,它是一款基于NGINX和 LuaJIT的Web平台,在openresty中集成了大量精良的Lua库、第三方模块以及大多数的依赖项,如lua-resty-mysql、lua-resty-redis、ngx-redis等,可以在https://github.com/openresty 上看到这些模块,有了这些模块openresty可以方便地搭建能够处理超.

2021-03-09 10:42:39 2254

原创 OpenResty安装使用

OpenResty安装使用在Nginx新版本中没有直接提供Lua模块的集成,Lua脚本模块已经作为第三方集成模块中去了,查看Nginx博客地址可知,集成到OpenResty中,OpenResty由主要国人章亦春维护的项目。OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。充分利用 Nginx的非阻塞 I/O 模型,不仅仅对

2021-03-09 10:22:50 597

原创 nginx安全性控制(二)

在目前有很多网站为了安全性,都采用了https的方式,https方式一般都是采用了证书的形式进行交互,因此在nginx中的ngx_http_ssl_module模块提供了ssl的验证,其格式如下:http { server { listen 80; # 访问80,走http协议 listen 443 ssl; # 访问443端口,走https安全协议 server_name localhost; #默

2021-03-09 09:35:17 507 3

原创 初识nginx(一)

nginx是由一个俄国人用C语言编写的,开源的、高性能的反向代理服务软件。其主要应用于静态资源服务、反向代理服务以及API服务。 1.静态资源主要借助于服务器本地文件系统来完成。 2.反向代理可以做到nginx强大的性能、缓存和负载均衡。 3.API服务通过集成nginx_lua模块来实现,比如openresty就是用nginx和lua集成特性,整合了大量常用的第三方模块。说到反向代理,我们得了解下反向代理和正向代理: 1.正向代理:它表示从客户端进行的网络访问或者服务访问...

2021-03-08 17:21:26 180

原创 使用OPNESSL制作SSL证书

准备工具安装keytool(jdk自带)、openssl、nginx、web服务有两种方法生成数字证书,一种是用JDK带的keytool,另一种是用openssl。我们将利用openssl完成以下表格内容:完成项输出文件CA服务器根证书cacert.pem 证书服务器证书servercert.pem 证书serverkey.pem 私钥客户端证书clientcert.pem 证书clientkey.pem 私钥先做一个服务端单向认证,最后完成一个服务端客户

2021-02-23 14:38:38 574 1

转载 kafka stream介绍(十五)

转载自http://www.jasongj.com/kafka/kafka_stream/Kafka Stream背景Kafka Stream是什么Kafka Stream是Apache Kafka从0.10版本引入的一个新Feature。它是提供了对存储于Kafka内的数据进行流式处理和分析的功能。Kafka Stream的特点如下:Kafka Stream提供了一个非常简单而轻量的Library,它可以非常方便地嵌入任意Java应用中,也可以任意方式打包和部署 除了Kafka外,无

2021-02-10 11:23:26 235

原创 kafka connect介绍(十四)

kafka connect是用于与其他数据系统进行数据交换的工具,它具有可扩展性和可靠性,它可以将其他数据系统的数据通过topic的方式导入到kafka,而kafka的导出功能能将topic导出到其他数据系统使用。kafka connect提供了以下功能: 1.kafka connect通用框架:它包含了一些主流的数据系统框架集成,可以做到简化连接器的开发、部署和管理。 2.有分布式和单机部署模式:可以向上扩展到支持整个组织的大型集中管理服务,或者向下扩展到开发、测试和小型生产部署。 ...

2021-02-10 08:39:16 1896 1

原创 kafka数据存储及安全性简介(十三)

在kafka配置中最重要的生产者配置是:ackscompressionbatch size而消费者最重要的配置是fetch size。如一个生产者的配置:# ZooKeeper zookeeper.connect=[list of ZooKeeper servers] # Log configuration num.partitions=8 default.replication.factor=3 log.dir=[List of directories. Kafka s...

2021-02-10 08:38:18 767 1

原创 kafka bin目录下的工具简单介绍使用(十二)

在kafka中除了直接通过代码的方式进行一些信息配置外,我们还可以通过在kafka安装目录下的bin目录下的工具进行操作,我们先来了解下基础的一些操作,看下新增topic的工具:> bin/kafka-topics.sh --bootstrap-server broker_host:port --create --topic my_topic_name --partitions 20 --replication-factor 3 --config x=y以上的语法表示我们新增了一个topic

2021-02-09 16:15:09 828

原创 kafka配置设置(十一)

为了避免因为生产或者消费带来的大流量导致的服务器异常,kafka提供了配额的配置。Kafka可以为共享配额的每组客户执行两种类型的客户配额: 1.网络带宽的配额通过定义字节/秒阈值(0.9版本及以后)。 2.请求速率配额将CPU利用率阈值定义为网络和I/O线程的百分比(0.11版本及以后)。 在了解配额的配置前,我们先了解下客户端分组的概念。客户端分组是在kafka中通过元组(user, client-id)定义了共享用户主体和客户端id的安全客户端逻辑组。配额可以应用于(u...

2021-02-09 15:48:40 650

原创 kafka集群及消息格式简单介绍(十)

kafka一般是作为集群存在的,因此在集群中一般都会存在主从节点,因此消息也会存在主从复制,节点的个数一般是以基数(2f+1,f表示数字)个数存在的。在kafka中主从复制的基本单位是topic分区,它在可配置数量的服务器上复制每个主题分区的日志,至于复制的个数可以通过配置统一实现,也可以给每个topic指定复制个数。在kafka中是默认使用了日志复制的,将非复制topic转换为复制topic,复制因子是1。一般情况下只有一个leader节点,并且有0到n个从节点。复制因子是由包含leader在内的...

2021-02-09 15:39:27 578

原创 kafka日志简单介绍(九)

kafka日志压缩确保Kafka将始终至少保留单个主题分区数据日志中每个消息键的最新已知值,它用于提供更细粒度的每条记录保留,而不是基于时间的粗粒度保留。我们看下下面这张图片,它显示了Kafka日志的逻辑结构,以及每个消息的偏移量。 从图片中我们可以看出这个日志是经过了压缩的,因为其中一些偏移量值已经不存在了,然而偏移量的值是一直有序增加的,并且不是重复使用偏移值,假如我们需要读取36,37,38这3个位置的偏移量,然而经过了日志的压缩处理后,我们可以看到只有38的位置还有偏移量...

2021-02-09 15:36:05 482

原创 kafka消息获取方式(八)

在kafka中,获取数据是采用的拉取(pull)模式,为什么会这样选择,我们可以对比下推送(push)和拉取(pull)有何不同。在推送(push)系统中: 1.数据从节点推送到消费者(consumer)的速率是由节点来控制的,根据消费者的消费速率来最大化的推送数据给消费者,但是一旦生产者产生数据推送给节点的速率远大于消费者处理数据的速率,那么节点推送给消费者的消息就会造成消费者所在的服务器内存溢出等错误; 2.因为是节点主动推送消息给消费者,所以消息将会在节点上面积累一定的数据量或者在规...

2021-02-09 15:17:19 1826

原创 kafka connect配置(七)

下面我们来看下连接到第三方数据仓库的connect config配置:1.config.storage.topic存储连接器配置的Kafka topic的名称。2.group.id标识此工作者所属的连接集群组的唯一字符串。3.key.converter用于配置key转换器类,用于在Kafka连接格式和写入Kafka的序列化格式之间进行转换。它控制写入或从Kafka读取的消息中的键的格式,并且由于它独立于连接器,它允许任何连接器使用任何序列化格式。常见格式的例子包括JSON和Avro。4

2021-02-09 14:43:59 2234 1

原创 kafka consumer消费者的配置(六)

接下来在看下consumer的配置:1.key.deserializer用于实现org.apache.kafka.common.serialization.Deserializer接口的键的反序列化器类。2.value.deserializer用于实现org.apache.kafka.common.serialization.Deserializer接口的值的反序列化器类。3.bootstrap.servers用于建立到Kafka集群的初始连接的主机/端口对列表。客户机将使用所有服务器,此

2021-02-09 14:24:51 5049 2

原创 kafka producer生产者的配置(五)

接下来在看下producer生产者的配置:1.key.serializer实现org.apache.kafka.common.serialization.Serializer接口的键的序列化器类。2.value.serializer用于实现org.apache.kafka.common.serialization.Serializer接口的值的序列化器类。3.acks生产者要求leader在考虑完成请求之前收到的确认数量,默认值为1,可选项是0,1,-1,all。它控制发送的记录的持久性。

2021-02-09 11:31:56 1408

原创 kafka topic配置(四)

前面我们了解完broker的配置,现在我们来看下topic的配置:1.cleanup.policy字符串要么是“delete”,要么是“compact”,或者两者都是。此配置指定在旧日志段上使用的保留策略。默认策略(“delete”)将在达到保留时间或大小限制时丢弃旧段。“compact”设置将启用topic上的日志压缩。服务器提供的默认配置是log.cleanup.policy。2.compression.type指定给定topic的最终压缩类型。该配置接受标准的压缩编解码器('gzip'、'

2021-02-09 11:18:25 1352

原创 kafka服务器节点的配置(三)

kafka的核心配置是: broker.id--节点id log.dirs--日志路径 zookeeper.connect--zookeeper的连接地址节点重新配置后有3种启动方式: read-only:需要重新启动broker进行更新。 per-broker:可以为每个broker动态更新。 cluster-wide:可以作为集群范围的默认值动态更新,也可以为测试更新为每个broker的值。下面分别看下服务器节点的配置:1.zookeeper.co...

2021-02-09 09:20:34 3283

原创 kafka的安装搭建及使用(二)

kafka最新的版本下载可以通过http://kafka.apache.org/documentation/#quickstart这个链接下的download链接获取到,当前的最新版本是2.5.0,我们下载好以后就可以直接进行解压了,当前操作是在Linux的下进行的:1.解压kafka压缩包及进入解压后的文件夹> tar -xzf kafka_2.12-2.5.0.tgz> cd kafka_2.12-2.5.02.启动zookeeper,因为kafka的一些配置是要在zooke

2021-02-08 17:04:51 164

原创 kafka基本认知(一)

kafka是一个分布式的流平台,作为流平台有3个标志: 1.发布和订阅流记录; 2.以容错持久的方式存储记录流; 3.在记录流出现时处理它们。kafka主要用于2种应用: 1.构建实时流数据管道,并且在系统或应用程序之间可靠地获取数据; 2.构建实时流应用程序用于转换或响应数据流。想要了解kafka是如何工作,我们需要了解下它的一些特性: 1.Kafka作为一个集群运行在一个或多个服务器上,这些服务器可以跨越多个数据中心; 2.kafka集群存储流记录是按照...

2021-02-08 16:47:24 564

原创 linux环境下mysql查询bit类型值的时候无法看到其值

需要做如下转换查询: select bin(bit_column+0) from test_user;//显示二进制数 select bit_column+0 from test_user;// 显示十进制数

2020-12-29 19:06:27 253

原创 thingsboard启动篇(一)

在进行thingsboard二次开发的时候,版本采用的2.5,我们首先的就是要启动程序看看能不能成功,启动的路径是org.thingsboard.server.ThingsboardServerApplication,在application模块下面,才能进行二次开发,默认上数据库是必须的,redis应该也算必须的,其他的都提供了一些默认的配置,默认上的数据库是postgresql,postgresql可以到官网直接下载,安装完成后就需要把thingsboard提供的数据库给导入进去,数据库所在...

2020-10-29 18:15:06 1677

原创 解决maven打包生成package时Excel文件模板不能下载打开

在进行maven打包时,如果代码里面有Excel之类的模板文件,而你又使用了maven-resources-plugin插件,这个时候你就得注意了,你的Excel模板文件下载下来就可能是无法打开的,会告诉你这个文件已经被破坏了,这是因为maven-resources-plugin插件在打包时会对Excel文件进行处理,但是处理不正确的时候就会损坏文件,所以我们需要在maven-resources-plugin的地方配置以下代码<configuration> <encoding..

2020-09-29 18:43:59 1031

转载 Nginx 跨域处理

浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。只要同时满足以下两大条件,就属于简单请求。(1) 请求方法是以下三种方法之一: HEAD GET POST(2)HTTP的头信息不超出以下几种字段:AcceptAccept-LanguageContent-LanguageLast-Event-IDContent-Type: 只限于三个值application/x-www-form-urlencoded、mu

2020-09-09 17:08:31 114

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除