java
文章平均质量分 90
Jinz_搜索
搜索研发工程师
展开
-
Netty学习之一--Java socket编程(单线程+多线程)
1. Socket 通信简介及模型 Java Socket 可实现客户端--服务器间的双向实时通信。java.net包中定义的两个类socket和ServerSocket,分别用来实现双向连接的client和server端。 1.1 重要的Socket API:Accept方法用于产生”阻塞”,直到接受到一个连接,并且返回一个客户端的Socket对象实例原创 2017-05-11 17:59:14 · 3489 阅读 · 0 评论 -
Netty学习之三--Java I/O模型
1.Linux 网络I/O模型简介 Linux的内核将所有外部设备都看做一个文件来操作。对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符)。 对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符),描述符就是一个数字,指指向内核中的一个结构体(文件路径、数据区等一些属原创 2017-05-12 12:11:30 · 618 阅读 · 1 评论 -
Netty学习之二--Java socket编程(UDP实例)
1.UDP和TCP的区别(TCP)传输控制协议,是一种提供可靠数据传输的通用协议,由于TCP需要建立真实的连接,所以需要消耗服务器的负载要大于UDP(UDP)用户数据报协议,是一个面向无连接的协议。采用该协议不需要两个应用程序先建立连接。UDP协议不提供差错恢复,不能提供数据重传,因此该协议传输数据安全性差。2.UDP 编程1.服务器代码package原创 2017-05-11 20:11:22 · 2759 阅读 · 0 评论 -
限流:高并发系统保护利器之一
背景 最近公司业务规模增大,导致后端服务压力过大。各大微博均推荐三把利器用来保护系统:缓存、降级、限流。本文仅针对限流算法做详细介绍。缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达...翻译 2018-09-02 21:53:02 · 225 阅读 · 0 评论