深入持续集成与Jenkins的探索
1.软件开发生命周期 软件开发生命周期又叫做SDLC ( Software Development Life Cycle ),它是集合了计划、开发、测试 和部署过程的集合。 如下图所示 : 需求分析: 这是生命周期的第一阶段,...
Linux读写锁应用场景及注意事项
在多线程编程中,对共享资源的访问需要进行同步,以避免竞态条件(Race Condition)和数据不一致问题。 Linux提供了读写锁(Read-Write Lock)作为一种同步机制,允许多个线程同时读取共享资源...
域名和ip地址是如何对映的
主要通过DNS域名解析来完成的。 域名解析的工作流程: 客户端首先会发出一个 DNS 请求,问 www.server.com 的 IP 是啥,并发给本地 DNS 服务器(也就是客户端的 TCP/IP 设置中填写的 DNS 服务器...
Java的I/O演进之路
在Java的软件设计开发中,通信架构不可避免,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早...
系统有万亿条消息怎么存储
我们如何设计一个能存储数万亿条信息的系统? Discord 的消息存储演进给我们提供了真实案例参考。 下图显示了 Discord 消息存储的演变过程:MongoDB -> Cassandra -> ScyllaDB 第一阶段 2015 年...
OSPF协议特点及作用
OSPF,全称开放最短路径优先,是一种链路状态协议,主要用于单一自治系统内部的网络。 其核心目标是在内部网络中选择最短路径,以确保数据的快速传输。 OSPF通过维护链路状态数据库,实时了解网...