摘要: 拆包粘包 TCP在向目标发送数据时,会通过缓冲区发送,当数据达不到缓冲区的大小时会发生粘包。当数据超过缓冲区大小时,则会分成多个部分,就是拆包。 例如上图:我们实际发送和希望接收到这样的数据,但是实际却有可能接收成这样。 程序中,我们这样向服务器发送三条数据,而服务端只接收到一条: Netty解决方 阅读全文
posted @ 2020-05-12 10:35 学霸王先森 阅读(216) 评论(0) 推荐(0) 编辑
摘要: reactor模式 在深入了解Netty之前,我们需要先知道reactor(反应器模式),是高性能网络编程必须知道的模式。 BIO 我们先了解下原始socket编程: //这里可以是个多线程,每个线程对应一个socket,循环处理业务,此处代码就略了,主要讲逻辑while (true){ //new 阅读全文
posted @ 2020-05-12 10:33 学霸王先森 阅读(234) 评论(0) 推荐(0) 编辑
摘要: NIO/OIO Netty是流行的NIO框架,我们在学习Netty之前需要先了解什么是NIO和BIO。 OIO:阻塞IO,传统的socket就是阻塞IO,例如服务端accept是阻塞的,只有当新连接来了,accept才会返回,主线程才能继续。这种IO占用了系统的调度资源,造成了浪费。 NIO(Non 阅读全文
posted @ 2020-05-12 10:29 学霸王先森 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 介绍 keepalived是基于VRRP协议来实现的高可用方案,VRRP协议(Virtual Router Redundancy Protocol)即虚拟路由冗余协议,将多台功能相同的路由器组成一个路由组,在组里会有一个master和多个backup,对外看来仿佛是一个虚拟路由器,拥有一个虚拟IP( 阅读全文
posted @ 2020-04-03 16:47 学霸王先森 阅读(224) 评论(0) 推荐(0) 编辑
摘要: # 用户组,也可以使用root用户 #user nobody; # 与服务器核心数量一致,一般现在电脑内核4核8线程,8核16线程,如果CPU的使用率大,可以设置成内核*2,进程则会有多个worker worker_processes 1; #error_log logs/error.log; #e 阅读全文
posted @ 2020-04-03 16:45 学霸王先森 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 安装 下载nginx,放在服务器上解压 tar -zxvf nginx-1.17.9.tar.gz 下载依赖库 yum -y install gcc-c++ yum install pcre yum install pcre-devel yum install zlib yum install zl 阅读全文
posted @ 2020-04-03 16:43 学霸王先森 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 这里之所以选择high level client方式是因为transportClient在7.X版本中废弃,预计会在8版本彻底删除。 可参考官方文档地址:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.6/java-r 阅读全文
posted @ 2020-03-26 09:17 学霸王先森 阅读(1431) 评论(1) 推荐(1) 编辑
摘要: 调用方式 es通过http+json方式调用 返回:创建成功 或者使用kibana的控制台也可以。 创建索引 PUT /test { "settings": { "number_of_shards": 3, "number_of_replicas": 2 }, "mappings": { "prop 阅读全文
posted @ 2020-03-26 09:16 学霸王先森 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 什么是Mapping mapping是定义索引中有什么字段,字段类型等结构信息。相当于数据库的表结构或者solr的schema. es7.X以上不需要再定义类型_doc,已经废除 PUT test { #定义索引名称为test "mappings" : { #映射定义 "properties" : 阅读全文
posted @ 2020-03-26 09:14 学霸王先森 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 安装插件 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 下载版本与es相同的分词器,解压到plugins目录下面,一定要解压到一个文件夹下面,如IK,不能直接解压到plugins下面,不然启动es会报错 重启es 扩 阅读全文
posted @ 2020-03-26 09:12 学霸王先森 阅读(217) 评论(0) 推荐(1) 编辑