核心部分 NIO( New Input/ Output) , 引入了一种基于通道和缓冲区的 I/O 方式,NIO 是一种同步非阻塞的 IO 模型。同步是指线程不断轮询 IO 事件是否就绪,非阻塞是指线程在等待 IO 的时候,可以同时做其他任务。同步的核心就是 Selector,Selector 代替 ...
分类:
编程语言 时间:
2020-06-08 19:08:32
阅读次数:
53
负载均衡: 从字面来讲负载均衡,是将负载进行平衡,将任务分摊到多个操作单元运行。 负载算法部分:通常的负载会有①.轮询②.随机③.最小连接法 部署方式:①.路由模式:网关设置成负载均衡机的LAN口地址,且与WAN分属不同的逻辑架构 ②.桥接模式:用的非常少 ③.网络直接返回模式:Client访问vi ...
分类:
其他好文 时间:
2020-06-08 10:47:16
阅读次数:
150
对NIO的理解 个人单方面认为,NIO与BIO的最大区别在于主动和被动,使用BIO的方式需要等待被调用方返回数据,很明显此时调用者是被动的。 举个例子 阻塞IO 假设你是一个胆小又害羞的男孩子,你约了隔壁测试的妹子,但你并不敢主动约会,所以你把自己的手机号码给她,并暗示她想要约会的时候打电话给你。很 ...
分类:
其他好文 时间:
2020-06-07 14:34:06
阅读次数:
68
1. 分布式Session共享 在分布式集群部署环境下,使用Session存储用户信息,往往出现Session不能共享问题。 例如:服务集群部署后,分为服务A和服务B,当用户登录时负载到服务A登录成功返回用户session存到本地Cookie中,下一次操作时从Cookie中获取session添加到请 ...
分类:
编程语言 时间:
2020-06-04 00:55:20
阅读次数:
72
实现步骤 设计架构模式:在一个集群里,有三台服务器,其中一台使用磁盘模式,另两台使用内存模式。两台内存模式的节点速度更快,因此通过客户端连接访问它们。但是在客户端不可能分别连接两台内存节点,肯定是通过前端反向代理去轮询分发请求。如果担心前端反向代理服务器故障,可以通过keepalived软件做一个高 ...
分类:
其他好文 时间:
2020-06-03 15:40:22
阅读次数:
69
什么是分布式系统 分布式这一概念,一直都是后端工程师绕不过去的一个坎,今天,我们就一起来看看到底什么是分布式系统,又有哪些分布式技术世我们需要学习的。 分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络 ...
分类:
其他好文 时间:
2020-06-02 11:00:15
阅读次数:
200
算法名称 简称 概述 轮询(默认) round-robin(RR) 按照时间顺序逐一分配到后端不同的服务器 weight weight-round-robin(WRR) 加权轮询,weight值越大,分配到的访问几率越高 ip_hash ip_hash 每个请求按访问IP的hash结果分配,这样来自 ...
分类:
其他好文 时间:
2020-06-01 23:48:22
阅读次数:
80
同步IO和异步IO 参考答案: IO操作主要分为两个步骤,即发起IO请求和实际IO操作,同步IO与异步IO的区别就在于第二个步骤是否阻塞。 若实际IO操作阻塞请求进程,即请求进程需要等待或者轮询查看IO操作是否就绪,则为同步IO。 若实际IO操作并不阻塞请求进程,而是由操作系统来进行实际IO操作并将 ...
分类:
其他好文 时间:
2020-05-31 16:28:27
阅读次数:
92
1 """ 2 协程,运行的时候轮流去执行各个任务,如果生产者生产的速度比较慢,这里可以使用者个切换出去 3 4 greenlet 会交出执行权,但是如果后面的耗时任务也不会就进入耗时,等下次轮到了,还是要进行耗时 5 这个程序的效果就只能够是轮询,起不到实际的节约时间的效果 6 """ 7 imp ...
分类:
编程语言 时间:
2020-05-31 11:29:16
阅读次数:
68
第1章 Kafka概述 1.1 消息队列 1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端。这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是 ...
分类:
其他好文 时间:
2020-05-30 19:39:36
阅读次数:
63