Muser

弱小和无知不是生存的障碍,傲慢才是


  • Home

  • About

  • Tags

  • Categories

  • Archives

  • Notes

  • Commonweal 404

NIO编程学习笔记(一)

Posted on 2017-10-24 | Last modified: 2018-12-04 | In Learning
Words count: 1,052
基本概念“伪异步”JAVA socket I/O是阻塞型的,为每个请求开一个线程,并发请求过多时必然消耗大量资源,JDK1.5之前没有NIO,怎样解决高并发问题呢?可以采用线程池和阻塞队列实现一种“伪异步”的IO通信框架。 其实就是将客户端的socket封装成一个task任务(实现Runnable接口)然后投递到线程池中,线程池限制了系统为应用开辟的最大线程数,如果同时有大量的请求到来,超过了最大线程数,那么就会添加到阻塞队列中等待进入线程池。 这种方法实际上仅仅能够解决高并发引起的服务器宕机问题,但是并不能提高效率。 阻塞和非阻塞BIO(Blocking I/O)和NIO(Non-Blocking I/O)的区别,其本质就是阻塞和非阻塞的区别。 阻塞:应用程序在获取网络数据的时候,如果网络传输数据很慢,那么程序就一直等着,直到传输完毕为止。 非阻塞:应用程序直接可以获取已经准备就绪好的数据,无需等待。 BIO为同步阻塞形式,NIO为同步非阻塞形式,NIO并没有实现异步,在JDK1.7之后,升级了NIO库包,支持异步非阻塞通信模型,即NIO2.0 ...
Read more »

nginx学习笔记

Posted on 2017-10-21 | Last modified: 2018-12-04 | In Learning
Words count: 1,614
Nginx + Keepalived实现高可用Keepalived简介Keepalived是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生,可以通过与Nginx的配合实现web服务端的高可用。Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA)。VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),如下图所示: Keepalived不仅能实现Nginx的高可用,还能实现Redis, Mysql等服务集群的高可用 VRRP工作机制在一个VRRP虚拟路由器中,有多台物理的VRRP路由器,但是这多台的物理的机器并不能同时工作,而是由一台称为MASTER的负责路由工作,其它的都是BACKUP,MASTER并非一成不变,VRRP让每个VRRP路由器参与竞选,最终获胜的就是MASTER。MASTER拥有一些特权,比如,拥有虚拟路由器的IP地 ...
Read more »

Shell脚本学习笔记

Posted on 2017-10-20 | Last modified: 2018-12-04 | In Learning
Words count: 937
此篇为Shell脚本的学习笔记,方便用到的时候查阅。 shell中的命令不一定要用绝对路径,比如 /bin/pwd 和 pwd 均可Linux在以下几个目录下存放命令: /bin、/sbin、/usr/bin、/usr/sbin这几个目录的区别如下: /bin 是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 /sbin 一般是指超级用户指令。主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。 /usr/bin 是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、di ...
Read more »

关于Bloom Filter

Posted on 2017-10-20 | Last modified: 2017-10-20 | In Work
Words count: 250
Bloom Filter是一种空间效率很高的随机数据结构,用来表示一个集合,主要的应用是判断一个元素是否属于这个集合,适用于能容忍一定错误率的场合下,比如网络爬虫里的url去重。 最近看到了一个写的非常好的关于Bloom Filter的文章系列,读完之后受益匪浅,写篇博文记录之。 Bloom Filter概念和原理http://blog.csdn.net/jiaomeng/article/details/1495500 从哈希存储到Bloom Filterhttp://blog.csdn.net/jiaomeng/article/details/1496329 应用Bloom Filter的几个技巧http://blog.csdn.net/jiaomeng/article/details/1497361 Counting Bloom Filterhttp://blog.csdn.net/jiaomeng/article/details/1498283 Partial Bloom Filterhttp://blog.csdn.net/jiaomen ...
Read more »

(转载)一致性哈希

Posted on 2017-10-19 | Last modified: 2017-10-19 | In Work
Words count: 1,998
原文: http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1、平衡性(Balance):平衡性是指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。很多哈希算法都能够满足这一条件。2、单调性(Monotonicity):单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中,又有新的缓冲加入到系统中。哈希的结果应能够保证原有已分配的内容可以被映射到原有的或者新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。3、分散性(Spread):在分布式环境中,终端有可能看不到所有的缓冲,而是只能看到其中的一 ...
Read more »
1…678…12
Muser

Muser

Coding While Thinking

60 posts
6 categories
67 tags
RSS
Search
© 2020 Muser | Site words count: 55.0k
Powered by Hexo
|
Theme — NexT.Muse