2017年10月26日

TCP长连接和短连接的区别

摘要: TCP长连接和短连接的区别 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次挥手,所以说每个连接的建立都是需要资源消耗和时间消耗的 示意图: 阅读全文

posted @ 2017-10-26 11:21 black_Style 阅读(429) 评论(0) 推荐(0) 编辑

2017年10月25日

简单理解分布式RPC框架

摘要: 简单考虑 动态代理,反射,自定义注解 1,序列化和反序列化 在网路中,所有的数据都将会转化为字节进行传输,所以在代码层面,一个RPC框架需要实现特定格式的数据与字节数组之间的相互转化。像java已经提供了默认的序列化方式,但是如果实在高并发的场景下,使用java原生的序列化方式可能遇到瓶颈,于是出现 阅读全文

posted @ 2017-10-25 16:13 black_Style 阅读(701) 评论(0) 推荐(0) 编辑

简单理解kafka---核心概念

摘要: 1,topic和日志 一个topic是对一组消息的归纳。对每个topic,kafka对它的日志进行了分区,如图: 每个分区都由一系列有序的,不可变的消息组成,这些消息被连续的追加到分区中。分区中的每个消息都有一个连续的叫做offset的序列号,用来在分区中唯一的表示这个消息。 在一个可分配的时间段内 阅读全文

posted @ 2017-10-25 15:35 black_Style 阅读(1009) 评论(0) 推荐(0) 编辑

简单理解kafka---入门

摘要: 简介:Kafka是一种高吞吐量的分布式发布订阅消息系统,可以提供消息的持久化,即使数以TB的消息存储也能够保持长时间的稳定性能。同时Kafka也支持Hadoop并行数据加载。该项目的目标是为处理实时数据提供一个统一,高通量,低等待的平台。 kafka中几个基本的术语: Topic(主题) Kafka 阅读全文

posted @ 2017-10-25 15:34 black_Style 阅读(706) 评论(0) 推荐(0) 编辑

2017年10月24日

简单理解线程--阻塞,interrupt

摘要: 什么是线程 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本不拥有资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进行所拥有的所有资源。 阻塞和非阻塞 阻塞和非阻塞是形容多个线程之间的 阅读全文

posted @ 2017-10-24 14:54 black_Style 阅读(2427) 评论(0) 推荐(0) 编辑

2017年10月23日

优化sql语句

摘要: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 阅读全文

posted @ 2017-10-23 10:53 black_Style 阅读(149) 评论(0) 推荐(0) 编辑

2017年10月20日

简单理解红黑树

摘要: TreeMap实现了SortedMap接口,会按照Key的大小顺序对Map中的元素进行排序,Key大小的评判可以通过其本身的自然顺序,也可以通过构造时传入的比较器。 TreeMap底层通过红黑树实现的,也就意味着containKey(),get(),put(),remove()都有着log(n)的时 阅读全文

posted @ 2017-10-20 16:07 black_Style 阅读(185) 评论(0) 推荐(0) 编辑

负载均衡算法

摘要: 轮询:将请求一次分发到每台应用服务器上 加权轮询:根据应用服务器的硬件情况,在轮询的基础上,安装配置的权重将请求分发到每个服务器 随机:将请求随机分发到每个应用服务器上 最少连接:记录每个服务器正在处理的连接数,将新到的请求分发到最少连接的服务器上 原地址散列:根据请求来源的ip地址进行hash计算 阅读全文

posted @ 2017-10-20 15:54 black_Style 阅读(111) 评论(0) 推荐(0) 编辑

如何计算tomcat线程池大小?

摘要: 如何计算tomcat线程池大小? 背景 在我们的日常开发中都涉及到使用tomcat做为服务器,但是我们该设置多大的线程池呢?以及根据什么原则来设计这个线程池呢? 接下来,我将介绍本人是怎么设计以及计算的。 目标 确定tomcat服务器线程池大小 具体方法 众所周知,tomcat接受一个request 阅读全文

posted @ 2017-10-20 15:13 black_Style 阅读(1201) 评论(0) 推荐(0) 编辑

简单理解Rocket---简单代码实例

摘要: 生产者producer,用于发送消息 package com.xxx.rocketMQ; import com.alibaba.rocketmq.client.exception.MQBrokerException; import com.alibaba.rocketmq.client.except 阅读全文

posted @ 2017-10-20 14:11 black_Style 阅读(379) 评论(0) 推荐(0) 编辑

导航