• 一致性哈希(Consistent Hashing)算法,乍一听大家可能觉得这是高大上的技术名词,但其实它在分布式系统中无疑是个解决大难题的土方法,就像是中国的传统医术在现代仍能医治各种疑难杂症一样。 这个算法自从 1997 年由麻省理工学院的博士生提出后,就...
  • 我们经常需要设计具有高可用性、高可扩展性和高吞吐量的系统。它们的确切含义是什么? 下图是一份系统设计小抄,包含“三高”常见的解决方案。 1、高可用性 高可用意味着我们需要达到一个高水平的正常运行时间。我们通常将设计目标描述为 &...
  • DevOps和NoOps是如何改变软件开发生命周期(SDLC)的? 下图比较了传统 SDLC、DevOps 和 NoOps。 在传统的软件开发中,开发、编译打包、测试、发布和监控是孤立的功能。 每个阶段都独立工作,然后移交给下一个阶段。 而 DevOp...
  • 什么是缓存? 缓存就像是一个超快速的存储区域,保存了计算机或手机经常使用的内容的副本,这样可以在不访问较慢的主存储器的情况下快速获取。 一个现实中的例子可以是,每当我们购买杂货时,通常会倾向于大量购买,这样可以让杂货多存放一段时间,避免频繁去市场购买,这其实...
  • HTTP报文分为请求报文和响应报文来说明。 请求报文 请求行:包含请求方法、请求目标(URL或URI)和HTTP协议版本。 请求头部:包含关于请求的附加信息,如Host、User-Agent、Content-Type等。 空行:请求头部和请求体之间用...
  • 1、Tomcat 介绍 什么是 Tomcat Tomcat 是 Apache 软件基金会一个核心项目,是一个开源免费的轻量级 web 服务器,支持 Servlet / jsp 少量JavaEE规范,Tomcat 也被称为 Web 容器、Servlet 容...
  • 如何为网站设计安全的API访问? 我们在设计一个网站或平台的时候,经常需要向用户开放API访问。 这样用户就可以程序化地调用一些功能,举几个例子: 交易所开放API让用户可以进行低时延的程序化交易, 微信公众号平台开放API让三方工具进行运营管理工作, S...
  • 问题描述: Windows电脑的网卡明明已经配置了静态的IP地址,但是还会出现自动配置IPv4地址的情况。 解决方法: 这个问题大部分是地址冲突导致的,还有一种可能就是网卡默认配置。 地址冲突解决办法:修改本机电脑的IP地址,或者找到冲突的设备修改它的...
  • Ping和Telnet有什么区别 ping 是ICMP协议,只包含控制信息没有端口;telnet是TCP协议,有端口能承载数据; 不能telnet并不代表不能ping, 这是两种不同的数据包, 防火墙可以设置哪种数据包可以通过; 能telnet通,但是不能...
  • 管理和定制CRUSH Map CRUSH和目标放置策略 Ceph 通过一种称为 CRUSH(可伸缩哈希下的受控复制)的放置算法来计算哪些osd应该持有哪些对象,对象被分配到放置组(pg), CRUSH 决定这些 放置组...
  • HTTPS是HTTP的安全版本,两者都用于在客户端和服务器之间传输数据,但HTTPS添加了加密和安全性层,以保护数据的机密性和完整性。 区别: 安全性: HTTP:HTTP是一种不安全的协议,数据在传输过程中以明文形式传输,容易受到窃听和篡改的风...
  • 关系: HTTP建立在TCP之上:HTTP是一个应用层协议,而TCP是传输层协议。HTTP通常使用TCP作为它的传输层协议,以在网络上传输数据。HTTP与TCP之间的关系可以类比为在实体之上建立一个通信通道。 HTTP利用TCP的可靠性:TCP提供了可靠的...
  • 浅拷贝 浅拷贝仅复制对象本身,而不会递归复制其内部包含的对象或数据结构。 对于复杂对象,如包含指针或引用的对象,浅拷贝会导致多个对象共享相同的内部数据。 浅拷贝通常是通过复制对象的成员变量来实现的,但对于内部指针或引用,只是复制了指针或引用本身,而不...
  • 数据存储方式 B树:B树的每个节点既存储数据也存储索引。这意味着B树的非叶子节点既包含索引键也包含对应的数据。 B+树:B+树的非叶子节点仅存储索引键,而数据全部存储在叶子节点。B+树的所有叶子节点通过指针连接成一个有序链表,便于范围查询。 叶子节点关联性 ...
  • 数据传输方式 GET:通过URL将数据附加在请求中,数据暴露在URL中,通常用于请求数据,对请求参数有长度限制,通常在2048字符以内。 POST:通过请求正文传输数据,数据不暴露在URL中,通常用于发送数据,对请求参数没有固定的长度限制,可以传输大量数据。...
  • 同Tear Drop泪滴攻击一样,SYN Flood也是一种拒绝服务攻击,其目标是通过发送大量伪造的TCP连接请求(SYN包)来消耗目标系统的资源,从而使得被攻击方资源耗尽而无法响应合法的连接请求的攻击方式。 SYN FLOOD攻击原理 SYN FLOOD攻...
  • 众所周知,一个数据库系统想要实现高可用,主要从以下两个方面来考虑: 保证数据安全不丢失 系统可以正常提供服务 而 Redis 作为一个提供高效缓存服务的数据库,也不例外。 上期我们提到的 Redis 持久化策略,其实就是为了减少服务宕机后数据丢失,以及快...
  • NTP通过时间戳和网络延迟计算来调整本地时钟,以确保系统时钟与NTP服务器的时钟尽可能一致,实现高精度的时间同步。 第一步、NTP客户端发起时间请求 NTP客户端向NTP服务器发起时间请求,请求服务器的准确时间。这个请求通常包括客户端的当前时间戳。 通...
  • 说白了,同步网络时间就是为了应对许多应用和系统对时间的准确性要求非常高的问题,简单罗列一下原因就是: 许多应用程序和系统使用时间戳来记录事件的发生顺序。即使是微小的时间差异,如毫秒级别的差异,都可能导致事件顺序错误,对于事务的准确性和可靠性非常关键。 ...
  • NTP,英文全称:Network Time Protocol,中文全名网络时间协议,是一种用于在计算机网络中同步设备时钟的协议。 它的主要目标是确保网络中的各个设备都具有一致的时间参考,以便它们可以协同工作,进行时间戳记录、数据同步和各种计算任务。 N...