netstat命令

netstat是基于Netstat这个命令行工具的指令,它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字。另外它还能列出路由表,接口状态和多播成员等信息。

用户和权限

使用 Linux 系统,不免会和用户和权限打交道,本文介绍了根权限和文件的权限属性等概念和应用。

进程管理

linux系统中,进程是资源调度的最小单位,进程的管理关乎着你使用linux系统的体验。

NAT Overview

1. What is NAT?

1.1 NAT(Level 4)

NAT(Network address translation)即网络地址转换,工作在OSI模型的三层或四层(PNAT),用于修改IP数据包中的IP地址和端口。当在专用网内部的一些主机本来已经分配到了local ip地址,但又想和Internet的主机通信时,可使用NAT方法。

负载均衡

对于一个简单的demo项目来说,我们可以用一个单体架构完成,而实际的线上应用普遍面临着高并发、高流量问题。作为一个上线的项目,对服务的可靠性还是有很高要求的,因此会选择使用一组服务器作为集群来提供服务,以此来保证单节点的处理性能以及保证服务的高可靠。如何将请求分担到不同的后端节点上,这就是负载均衡做的事情。

Reactor编程(二)

Java 提供了两种异步编程模型:

  • 回调:异步方法没有返回值,但需要一个额外的 callback参数(一个 lambda 或匿名类),当结果可用时会被调用。
  • Futures:异步方法立即返回一个Future。异步过程计算一个T值,但Future对象包装了对它的访问。该值不会立即可用,并且可以轮询该对象直到该值可用。例如,一个ExecutorService正在运行的Callable任务使用Future对象。

两种方式各有优劣,回调代码很难组合在一起,很快导致代码难以阅读和维护。Future比回调稍微好点,通过CompleteFuture,我们将多个Future对象编排 在一起。但Future也有一些缺点,它不支持惰性计算,没有背压能力,缺乏对多个值和高级错误处理的支持。

Reactor编程(一)

Reactor是响应式编程的一种实现方式。响应式编程关心数据流以及数据变化的传播,是一种异步编程的一种范式。这意味着通过编程语言实现的响应式编程可以轻松地表达静态(例如arrays)或动态(例如event emitters)数据。