摘要:背景 SpringCloud分布式项目,部署在多个节点上。一般的发版方式是,使用 ,逐一地关闭、部署、重启。 但中间涉及到一个问题,当执行kill命令时,服务虽然关闭,但Eureka那里依然保存着这台服务器的IP,请求依然会跑到这台服务器上。 直到持续数十秒后,Eureka将该服务的IP剔除掉。 如 阅读全文
posted @ 2019-07-31 20:42 CoffeJoy 阅读 (33) 评论 (0) 编辑
摘要:一、什么是NAT,NAT产生的背景 NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力。 NAT产生的背景是为了解决IPv4地址不足的问题。 二、NAT技术的工作原理和特点 在整个NAT的转换中,几个关键的流程: 网络被分为私网和公网 阅读全文
posted @ 2019-07-30 00:15 CoffeJoy 阅读 (20) 评论 (0) 编辑
摘要:一、问题描述 当我连接我的服务器的时候,返回信息如下 二、问题分析 返回的信息是什么意思? 这里的原因是,我把原先的腾讯云服务器重装系统,是属于host key改变的情况。所以根据提示,将正确的host key添加到指定的文件中。 三、问题解决 于是找到known_hosts这个文件,将远程主机发来 阅读全文
posted @ 2019-07-22 22:07 CoffeJoy 阅读 (101) 评论 (0) 编辑
摘要:一、CAP原理 分布式系统的节点往往都是分布在不同的机器上进行网络隔离开的,这意味着必然会有网络断开的风险,这个网络断开的场景的专业词汇叫着「网络分区」。 在网络分区发生时,两个分布式节点之间无法进行通信,我们对一个节点进行的修改操作将无法同步到另外一个节点,所以数据的「一致性」将无法满足,因为两个 阅读全文
posted @ 2019-07-04 23:40 CoffeJoy 阅读 (22) 评论 (0) 编辑
摘要:一、RESP协议概述 Redis客户端和Redis服务端使用RESP协议进行通信。 这个协议的特点: Simple to implement.实现简单 Fast to parse.快速解析 Human readable.可读性强 当我写一个socket程序,去拦截Jedis客户端发送的请求,程序如下 阅读全文
posted @ 2019-07-04 23:15 CoffeJoy 阅读 (41) 评论 (0) 编辑
摘要:一、管道 管道的本质是,将客户端与服务端的交互,由写—— 读 —— 写 —— 读,变为 写—— 写—— 读——读。 两个连续的写操作和两个连续的读操作总共只会花费一次网络来回,就好比连续的 write 操作合并了,连续的 read 操作也合并了一样。 二、位图 使用bit来存储数据,例如一周的签到, 阅读全文
posted @ 2019-07-04 23:06 CoffeJoy 阅读 (14) 评论 (0) 编辑
摘要:1、判断奇数偶数 2、交换两个数 代替 3、找出唯一没有重复的数 数字 1、2、2、1、3、3、4、5、4中找出只出现过1次的数 4、位运算代替乘除法 参考文档 [1]: 【算法技巧】位运算装逼指南 [2]: 有助于改善性能的Java代码技巧 [3]: 实用 | 35个可以提高千倍效率的Java代码 阅读全文
posted @ 2019-05-31 01:14 CoffeJoy 阅读 (34) 评论 (0) 编辑
摘要:一、通过Linux命令实现 为什么这个命令会有一个 呢? 是默认的DNS服务器。 二、DNS的理解 DNS的解析流程: 1.客户端访问www.baidu.com,检查浏览器是否有缓存,若无,往下走 2.操作系统检查host文件,有无对应关系,若无,往下走 3.在系统DNS缓存中找,若有返回域名对应的 阅读全文
posted @ 2019-05-30 22:33 CoffeJoy 阅读 (436) 评论 (0) 编辑
摘要:本文主要介绍BitMap的算法思想,以及开源工具类JavaEWAH、RoaringBitmap的简单用法。 一、BitMap 介绍 BitMap使用 ,来标记元素对应的Value。该算法能够 。 假设一个场景,要存0 7以内的数字[3,5,6,1,2],尽可能的节省空间。 一种思路就是单纯使用数组存 阅读全文
posted @ 2019-05-28 15:51 CoffeJoy 阅读 (365) 评论 (0) 编辑
摘要:参考文档 [1]: Spring Cloud Ribbon负载均衡 阅读全文
posted @ 2019-05-28 09:46 CoffeJoy 阅读 (17) 评论 (0) 编辑