mysql 协议的ping命令包及解析

githttps://github.com/sea-boat/mysql-protocol概况mysql客户端可以用ping命令来检查服务端的状态,正常会返回ok包。mysql通信报文结构 类型 名字 描述 int payload长度 按照the least significant byte first存储,3个字节的payload和1个字节的序列号组合成报文头 in...
阅读(1746) 评论(0)

mysql 协议的退出命令包及解析

githttps://github.com/sea-boat/mysql-protocol概况mysql客户端连接上mysql服务端后,当需要退出断开连接时则向服务端发送退出命令。服务端可以直接关闭连接或返回OK包。mysql通信报文结构 类型 名字 描述 int payload长度 按照the least significant byte first存储,3个字节的pa...
阅读(1301) 评论(0)

mysql 协议的OK包及解析

githttps://github.com/sea-boat/mysql-protocol概况mysql客户端与mysql服务端交互过程中,当服务端完成客户端的某命令时则会返回OK包。mysql通信报文结构 类型 名字 描述 int payload长度 按照the least significant byte first存储,3个字节的payload和1个字节的序列号组合...
阅读(1881) 评论(0)

mysql 协议的认证包及解析

githttps://github.com/sea-boat/mysql-protocol概况mysql客户端登陆到mysql服务端需要一个交互的过程,首先服务端给客户端发送的初始握手包,客户端接收到握手包后向服务端返回认证包。如下,这里分析下认证包。client server |-------connect------>| |...
阅读(1442) 评论(0)

mysql 协议的错误包及解析

githttps://github.com/sea-boat/mysql-protocol概况mysql客户端与mysql服务端交互过程中,如果服务端遇到错误需要告知客户端则返回错误包。mysql通信报文结构 类型 名字 描述 int payload长度 按照the least significant byte first存储,3个字节的payload和1个字节的序列号组...
阅读(1150) 评论(0)

mysql 协议的服务端握手包及对其解析

概况mysql客户端登陆到mysql服务端需要一个交互的过程,这里先看服务端给客户端发送的初始握手包。如下,client通过socket连接到server指定的端口后,server将往client发送初始握手包。服务端会根据不同的服务版本和不同的配置返回不同的初始化握手包。client server |------connect---- >| |...
阅读(1982) 评论(0)

用jmap和jps查看对象数量

给https://github.com/sea-boat/net-reactor添加bufferpool,使用直接内存。功能需求是启动时初始化一定量的buffer,每建立一个连接都分配一个buffer作为读写缓冲,管理连接时将buffer放回pool中,而当pool的buffer不够用时则额外创建buffer并放到pool中。为了方便观察,首先只初始化包含1个buffer的池,再将JVM包含的内存对...
阅读(1570) 评论(0)

从git拉源码maven构建后部署脚本

部署某个中间件到测试机器脚本 从git取源码,再maven构建,将jar拷贝到服务器,备份旧版本,重启。 #!/bin/bashserver_ips=(132.121.100.44 132.121.100.45 132.121.100.46 132.121.100.47) git_url=http://seaboat:123456@132.122.1.21:8888/splan/db...
阅读(835) 评论(0)

75篇关于Tomcat源码和机制的文章

整理下前面写过的75篇关于Tomcat源码和机制的文章 文章列表 如何设计一个Web容器 Web安全认证机制知多少 Tomcat集群实现源码级别剖析 Tomcat集群如何同步会话 从单机到集群会话的管理之集群模式一 从单机到集群会话的管理之集群模式二(更大的集群) Tomcat集群的failover机制 Tomcat集群应用部署的实现机制 Tomcat集群机制剖...
阅读(17277) 评论(4)

编写一个简易的Java NIO Reactor库

开源地址https://github.com/sea-boat/net-reactor源码设计接收器Acceptor/** * * @author seaboat * @date 2016-08-25 * @version 1.0 * email: 849586227@qq.com * blog: http://blog.cs...
阅读(3951) 评论(2)

[置顶] 分布式系统调用链监控

分布式系统调用链监控 应用架构由集中式向分布式演进后,整个调用关系变得复杂。 分布式架构由复杂且较大规模集群构成,各个应用之间相当独立,可能由不同团队、不同语言实现。 系统一个完整的调用过程可能横跨多个服务及数据中心。 复杂的调用导致系统出问题后难以定位问题。 无法准确知道整体系统性能及运行情况。 全链路性能监控一个请求完整的调用链可能如下图...
阅读(12657) 评论(18)

Tomcat如何实现Comet

Comet模式是一种服务器端推技术,它的核心思想提供一种能让当服务器端往客户端发送数据的方式。Comet模式为什么会出现?刚开始人们在客户端通过不断自动刷新整个页面来更新数据,后来觉得体验不好又使用了AJAX不断从客户端轮询服务器更新数据,然后是使用Comet模式由服务器端通过长连接推数据。Comet模式能大大减少发送到服务器端的请求从而避免了很多开销,而且它还具备更好的实时性。如图所示,客户端发送...
阅读(6848) 评论(0)

ant编译mysql驱动

修改驱动源码后需要重新编译构建,由于mysql编译需要两个jdk版本且还需要hibernate4和junit,这里记录下步骤。 安装ant。 配置两个jdk,5和8。并修改build.xml配置,如下: <property name="com.m...
阅读(2133) 评论(0)

ELK搭建

ELK安装elasticsearch安装 * 下载elasticsearch-5.0.0.tar.gz,并解压。 通过elasticsearch.yml可设置host和port。 vim config/elasticsearch.yml network.host: 192.168.33.10http.port: 9200通过jvm.options可设置jvm相关参数。 vim config/jvm...
阅读(2500) 评论(0)

Tomcat如何实现WebSocket

WebSocket协议属于HTML5标准,越来越多浏览器已经原生支持WebSocket,它能让客户端和服务端实现双向通信。在客户端和服务器端建立一条WebSocket连接后,服务器端消息可直接发送到客户端,从而打破传统的请求响应模式,避免了无意义的请求。比如传统的方式可能会使用AJAX不断请求服务器端,而WebSocket则可以直接发送数据到客户端且客户端不必请求。同时,由于有了浏览器的原生支持,编...
阅读(7515) 评论(2)

logstash处理文件进度记录机制

假如使用如下配置处理日志input { file { path => "/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-*.log" start_position => "beginning" type => "sql" codec => jso...
阅读(3807) 评论(0)

logstash输出到elasticsearch多索引

目标:将json格式的两类日志输出到elasticsearch两类索引1. 安装logstash。2. 编写logstash处理配置文件,创建一个test.conf文件,内容如下:input { file { path => "/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-*.log"...
阅读(3329) 评论(2)

Tomcat怎么实现异步Servlet

有时Servlet在生成响应报文前必须等待某些耗时的操作,比如在等待一个可用的JDBC连接或等待一个远程Web服务的响应。对于这种情况servlet规范中定义了异步处理方式,由于Servlet中等待阻塞会导致Web容器整体的处理能力低下,所以对于比较耗时的操作可以放置到另外一个线程中进行处理,此过程保留连接的请求和响应对象,在处理完成之后可以把处理的结果通知到客户端。下面先看Servlet在同步情况...
阅读(5580) 评论(8)

logstash分析日志

待处理日志格式如下:[totalCount: 298006556, count: 287347623, queryCount: 259027994, exeCount: 28319629, totalQPS: 10000.0, QPS: 1.0, queryQPS: 1.0, exeQPS: 0.0] [totalCount: 298006556, count: 287347623, queryCo...
阅读(3083) 评论(0)

杂整

用Launchy管理本地应用 alt+空格唤起Launchy启动vim eclipse集成vim ctrl+shift+alt+v切换到vim...
阅读(437) 评论(0)
290条 共15页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    打赏作者

    赞作者(*^__^*)



    如果您觉得作者写的文章有帮助到您,您可以打赏作者一瓶汽水(*^__^*)

    作者

    笔名:seaboat 汪洋之舟

    github:https://github.com/sea-boat

    微信:



    公众号:

    个人资料
    • 访问:866605次
    • 积分:12009
    • 等级:
    • 排名:第1314名
    • 原创:284篇
    • 转载:5篇
    • 译文:1篇
    • 评论:316条
    博客专栏