Netty编解码框架:Java序列化、Protobuf、 Marshalling

通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。反之,解码(Decode)/反序列化(deserialization)把从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑操作。进行远程跨进程服务调用时(例如RPC调用),需要使用特定的编解码技术,对需要进行网络传输的对象做编码或者解码,以便完成远程调用。...
阅读(12) 评论(0)

Netty分隔符解码器和定长解码器的应用方案

本文我们继续介绍DelimiterBasedFrameDecoder和FixedLengthFrameDecoder分别来解决以特殊分隔符作为消息的结束标志的解码和定长消息的解码。他们均能解决TCP导致的黏包读半包问题。...
阅读(20) 评论(0)

Netty通信框架提供解决TCP粘包拆包问题方案

TCP是个“流”协议,所谓流,就是没有界限的一串数据。大家可以想想河里的流水,是连成一片的,其间并没有分界线。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。...
阅读(23) 评论(0)

Docker 官方速查文档下载、安装和使用指南

前端时间学习Docker过程也是根据一些文章和教程学习的,没怎么关注Docker官网相关的内容,实际上官网的操作已经相当完备了,这里附上官网学习路径。学习Docker初级阶段:只需要关注怎么构建运行docker镜像;Docker进阶方面:使用docker-compose多容器管理,docker-machine、docker-swarm等内容。...
阅读(50) 评论(0)

Mycat中Buffer机制分析—HeapByteBuffer与DirectByteBuffer

ByteBuffer一般在网络交互过程中java使用得比较多,尤其是以NIO的框架中,分为两类:HeapByteBuffer:内存是分配在堆上的,直接由Java虚拟机负责垃圾收集,你可以把它想象成一个字节数组的包装类;DirectByteBuffer:是通过JNI在Java虚拟机外的内存中分配了一块(java堆内存由Xmx控制,而堆外内存由-XX:MaxDirectMemorySize控制),该内存块并不直接由Java虚拟机负责垃圾收集,但是在DirectByteBuffer包装类被回收时,会通过Java...
阅读(40) 评论(0)

Mycat使用性能监控管理工具获取相关性能缺陷和监视信息

Mycat性能监控测试管理工具有3种:1、Mycat控制台命令行;2、Mycat-web性能管理系统;3、第三方监控工具如Spotlight。虽然有了性能监视工具,但是实际的问题也不能完全分析出来,还是要在实战中积累经验。如果使用Mycat进行二次开发建议持续关注github上最新的issue来观察,同时加强对Mycat源码的阅读和理解。...
阅读(66) 评论(0)

Ubuntu终端命令查看端口占用及关闭

查看服务端口->查看已经连接的服务端口(ESTABLISHED):netstat -a ; 查看所有的服务端口(LISTEN,ESTABLISHED): netstat -ap 查看指定端口->查看指定端口,可以结合grep命令:netstat -ap | grep 8080 也可以使用lsof命令:lsof -i:8080 关闭端口使用->若要关闭使用这个端口的程序,使用kill + 对应的pid:: kill -9 PID号...
阅读(74) 评论(0)

Docker Registry 本地私有化仓库搭建和使用

使用私有Docker仓库来实现构建镜像的保存,可以实现本地化镜像仓库的管理。一个Registry (注册表)是一个存储和内容交付系统,它的名字叫Docker镜像,可以在不同的标记版本中使用。如果您的注册中心调用是高级的,那么使用Docker组合文件来部署它可能更容易,而不是依赖于特定的Docker运行调用,即使用docker-compose.yml作为模板。...
阅读(61) 评论(0)

Jenkins Pipeline 项目持续集成交互实践路径

Jenkins 2.x的精髓是Pipeline as Code,是帮助Jenkins实现CI到CD转变的重要角色。什么是Pipeline,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本,并且Jenkins支持从代码库直接读取脚本,从而实现了Pipeline as Code的理念。...
阅读(107) 评论(0)

Mycat JVM appears hung: Timed out waiting for signal from JVM.

Mycat配置支持的JVM参数是支持1.8_x之前的版本,当JDK升级到1.8_x以后在大数据量操作的时候JVM内存的分配就会存在问题,我们需要做相应的调整以适应这种参数改变,JDK 1.8_x不支持Permgen 。参数需要做的调整为-XX:PermSize=64m -XX:MaxPermSize=128m 变成 -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m 否则在JDK 1.8_x中不生效。...
阅读(80) 评论(0)

Atlassian与DevOps 系列产品选择方案介绍

这里有一个有趣的视频:大致介绍了Atlassian家族DevOps的工具。世界上没有哪种工具能够像DevOps这么神奇(或敏捷,或精益)。DevOps在开发和运营团队之间建立了完美的合作与沟通,因此与其说这是一种神奇的工具,不如说是一种文化的转变。DevOps在团队建设中日益重要,因此我们可能需要付出一定的代价(use money to buy )去做出改变。CSDN作为Atlassian在中国的战略合作伙伴,代理Atlassian全线产品,是否对国内用户优惠就不得而知了。...
阅读(119) 评论(0)

Jenkins 集成和使用JIRA Bug跟踪管理工具

首先解答一个疑问:是Jira集成Jenkins还是Jenkins集成Jira?Jenkins可以 集成Jira ,Jira也可以集成Jenkins。这两个工具都提供了相关的插件实现。本篇文章就来介绍下Jenkins和Jira互相集成需要做哪些配置,记住插件是少不了的,并且要保证Jira和Jenkins之间能够正常访问。...
阅读(120) 评论(0)

Docker构建JIRA BUG跟踪管理工具镜像

JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。通过Docker镜像我们可以快速的将JIRA纳入到我们的日常BUG管理事务中。Jira是商业的BUG跟踪,提供30天的试用期,如果有能力还是建议购买使用。...
阅读(86) 评论(0)

Docker maven插件方式构建微服务镜像

Docker maven插件方式构建微服务镜像有两种方式:a.maven集成构建docker镜像 b.外部构建docker镜像。本文介绍的docker插件只适用于微服务jar执行的方式,对于war的构建问题,后面再加以验证补充。插件的Github地址:https://github.com/spotify/docker-maven-plugin...
阅读(82) 评论(0)

Docker使用Dockerfile构建微服务发现镜像实例

我们以微服务发现测试demo为例,打包并构建微服务发现镜像。实现docker镜像构建需要准备docker环境,这里就不在赘述了。通过docker方式可以快速实现微服务的发布和部署,使得开发和部署不再复杂而繁琐。单体应用的整体维护容易引入bug而微服务只需要对存在bug的服务模块进行修复不影响其它模块的运行,虽然很多情况下考虑微服务会带来维护成本的增加,但是在开发运维一体化的实践过程中,“开发即运维”工作高度统一也就无足轻重了,因为我们有更多的时间去关注代码。...
阅读(201) 评论(0)
729条 共49页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1306917次
    • 积分:15801
    • 等级:
    • 排名:第698名
    • 原创:374篇
    • 转载:274篇
    • 译文:78篇
    • 评论:175条
    博客专栏
    最新评论